我試圖做一個Java程序,它使用用戶的輸入值來計算並列出兩個數字的產品,直到輸入的數字。就像用戶輸入2一樣,程序應該計算兩個數字之間的產品(1 * 1,1 * 2,2 * 1,2 * 2)將產品存儲在二維數組中,並列出產品。我不確定自己完全理解了數組,所以我覺得好像我的代碼在許多情況下都不是正確的,有人可以告訴我應該如何使我的當前代碼正常工作。提前致謝! :)我需要對當前的代碼做些什麼來使程序運行乘法表(使用二維數組)?
import java.util.Scanner;
public class ProductTable {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String inputString;
char letter = 'y';
// Prompt the user to enter an integer
while(letter != 'q') {
System.out.print("Enter a positive integer: ");
int integer = input.nextInt();
// Create an two-dimensional array to store products
int[][] m = new int[integer][3];
for (int j = 1; j <= m.length; j++) {
m[j][0] = input.nextInt();
m[j][1] = input.nextInt();
m[j][2] = input.nextInt();
}
// Display the number title
System.out.print(" ");
for (int j = 1; j <= m.length; j++)
System.out.print(" " + j);
System.out.println("\n--- ");
// Display table body
for (int i = 1; i <= m.length + 1; i++) {
System.out.print(i);
for (int j = 1; j <= m.length + 1; i++) {
System.out.printf("%4d", i * j);
}
System.out.println();
}
// Prompt the user to either continue or quit
System.out.print("Enter q to quit or any other key to continue: ");
String character = input.nextLine();
inputString = input.nextLine();
letter = inputString.charAt(0);
}
}
}
根據你的描述,你應該只是要求用戶輸入一個數字,然後創建數組並計算所有的值,這意味着你應該只在代碼中有一個**調用input.nextInt() 。現在,如果您輸入'5'作爲第一個數字,則需要用戶輸入5 * 3 = 15 *多個*號碼。 – Andreas
以及現在好我的代碼出於某種原因不會做任何事情過去要求用戶輸入一個整數我不知道如何讓它識別代碼的其餘部分? –
「(1 * 1,1 * 2,2 * 1,2 * 2)」並不能說明您打算做什麼 - 特別是1 * 1。當用戶給出4時,會發生什麼?爲什麼在你的代碼中0,1,2硬編碼? –