当前位置: 首页 > 知识库问答 >
问题:

如何使用扫描器输入二维数组?

吴靖
2023-03-14

我正在参加一个在线Java课程,并尝试我的第二个作业。第一项作业并不难,但这一项就差强人意了。我真的不知道从何说起。问题是这门课是在线的,基本的指导是阅读这些章节,然后编写程序。没有太多的指导,因为我的指导老师不在我身体上。

我以前从来没有使用过扫描器,也没有创建过二维数组。我的指导老师给出了在他的基础课程的每一个领域应该做什么的笔记,但我不知道从哪一个开始。

您的任务是实现一个类似的方案来存储任意项数的多项式,这样项数和每个项的分量(系数、变量和指数)都是从键盘输入的。为了实现交互式输入,我们将使用Java.utils标准包中定义的Java类扫描程序。Scanner类可以在Java中用于从文件中读取数据类型。由于输入控制台(键盘)被视为名为System.in的文件,我们可以为该输入流创建一个扫描器,作为新的扫描器(System.in),如下所示。定义一个扫描器对象后,使用它的方法next()就可以从文件/键盘中读取字符串。下面的不完整程序是你的作业。您应该在不更改现有代码的情况下完成。您的输出应该是用户输入的多项式的项,由+号分隔。以下代码中的其他说明,您将更改这些说明以实现所请求的功能。

import java.util.Scanner;
public class Polynomials {


public static void storeTerm (int coeff, String var, int exp, String poly[][], int 
where){

//ENTER THE COEFFICIENT, VARIABLE AND EXPONENT INTO THE
//ARRAY POLY THAT REPRESENTS THE POLYNOMIAL, AT POSITION "where" 
//THAT RANGES BETWEEN INDEX 0 AND POLY.LENGTH-1 

} 

public static void printTerm (String [] term) {

//PRINTS EACH TERM 
//IF THE EXPONENT OF THE VARIABLE IS 1 DOE NOT PRINT THE EXPONENT
//IF THE EXPONENT IS 0, PRINT ONLY THE COEFFCIENT
//IF THE COEFFICIENT IS 1, DO NOT PRINT IT, UNLESS IT IS THE ONLY COMPONENT OF 
//THE TERM

} 

public static void printPolynomial(String terms[][]){

//CALL printTerm in a loop to print all terms separated by + signs

}

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
int numberTerms = 0;


System.out.println("How many terms?");
numberTerms = sc.nextInt();

//ENTER HERE THE CODE TO CREATE THE TWO DIMENSIONAL ARRAY NEEDED TO STORE THE TERMS
//OF THE POLYNOMIAL 

if (numberTerms <= 0) 

System.out.println("Error: Polynomials must have at least one term");

else {


String coeff = "", variable="", exponent="";



for (int i = 1; i<= numberTerms; i++) {

System.out.println("Enter the coeffcient for term " + i);
coeff = sc.next();
System.out.println("Enter the variable name:");
variable = sc.next();
System.out.println("Enter the expoenent for this term");
exponent = sc.next();


//CALL METHOD storeTerm TO INPUT THIS NEW TERM INTO THE ARRAY WRITE THE CORRECT 
//CALL TO storeTerm HERE


} 

printPolynomial(terms); 

}//endf if 



}//end main

}//end class 

又不是在寻找答案。只是从哪里开始。然后我会公布我的结果。

共有1个答案

高明辉
2023-03-14

二维数组进入的位置并不完全明显,因为结构提示了一个术语列表。

您将需要定义一个数据结构,在Java中作为一个类来保存每个术语的信息。

从描述来看,输入的似乎是形式为3x^2+5y^7的多项式,而不是xy+3y^2z^3。

 类似资料:
  • 我在java中有这段代码,代码工作得很好 你对这个问题有什么解决办法吗??? 谢谢

  • 我开发了一个字符排序器,我想每次字符串排序后提示用户输入一个新的字符串。我遇到的问题是扫描仪一直在扫描用户的第一个输入。如果我使用scanner.next(),它不会计算输入末尾的空白,这不是解决方案。 这是while循环的开始。一旦代码完成,它将再次从“inputtext”开始。

  • 我正在为平板电脑开发一个android应用程序(SynchroDigital iNOSP10-4.0 RES型号),我想使用ZXing库扫描包含字符串的QRcode。它会在我需要时启动扫描仪,但我无法扫描任何东西。 实际上,如果我直接使用条形码扫描仪应用程序,它甚至不起作用,黄色的点出现了,但什么也没有发生,无论亮度、距离或二维码的复杂性(尝试使用一个只包含字母“a”的巨大二维码),它都不会起作用

  • 我遵循这篇材料在Android中实现QRCode Scanner。 一步一步地,在我的应用程序中实现以下代码后,我在GingerreadOpenCameron aInterface.java类中收到错误。下面的图像是我面临的错误。 错误显示为: 以下是清单文件: 下面这个问题有人能帮我吗?

  • 本文向大家介绍ios原生二维码扫描,包括了ios原生二维码扫描的使用技巧和注意事项,需要的朋友参考一下 做iOS的二维码扫描,有两个第三方库可以选择,ZBar和ZXing。今天要介绍的是iOS7.0后AVFoundation框架提供的原生二维码扫描。 首先需要添加AVFoundation.framework框架到你工程中build phase的"Link Binary With Libraries