2014-02-19 32 views
1

我正在參加在線Java課程並試圖完成第二個任務。第一項任務並不難,但這一項只是頂部。我真的不知道從哪裏開始。問題是這個課程是在線的,基本的說明是閱讀這些章節,然後編寫程序。沒有太多的指導,因爲我的教練不在身體上。如何使用掃描儀輸入2維數組?

我從來沒有使用過掃描儀或創建過二維數組。我的老師給出了關於他的骨骼計劃的每個領域要做什麼的筆記,但我不知道從哪一個開始。

你的任務是實現一個類似的方案來存儲任意數量的條款,使得 一些術語和每學期的分量(係數,變量和指數),是從 鍵盤輸入的poynomials。 要實現交互式輸入,我們將使用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 

再次找不到答案。從哪裏開始。然後我會發布我的結果。

回答

0

由於結構提示了一系列術語,因此二維數組的輸入位置並不完全清楚。

您將需要定義一個數據結構,以Java的類作爲類來保存每個術語的信息。

從描述看來,輸入似乎是3x^2 + 5y^7形式的多項式,而不是xy + 3y^2z^3。