2015-07-11 94 views
0

我想創建一個5行2列int數組,並讓用戶輸入數組中的每個值。我想使用StdIn作爲輸入。爲什麼這不工作?請幫忙!謝謝。用戶輸入的二維數組

這是我的努力:

int [][] a = new int [5][2]; 

int i; 
int j; 

for(i = 0; i < 4; i++); 
{ 
    for(j = 0; j < 2; j++); 
    { 
    System.out.println("Month number (e.g. August = 8)"); 
    int month = StdIn.readInt(); 
    a[i][0] = month; 

    System.out.println("Year number (e.g. 2007)");     
    int year = StdIn.readInt(); 
    a[i][1] = year; 

    } 
} 

回答

2

你已經從用戶問這兩個值,不需要在嵌套循環:

int [][] a = new int [5][2]; 
for(int i = 0; i < 5; i++) 
{ 
    System.out.println("Month number (e.g. August = 8)"); 
    int month = StdIn.readInt(); 
    a[i][0] = month; 

    System.out.println("Year number (e.g. 2007)");     
    int year = StdIn.readInt(); 
    a[i][1] = year; 

} 

我也去掉了分號;你在第一個for循環之後使它無用,並且將迭代固定爲4(您正在循環[0..4),並且您可能需要[0..5))。

j已被刪除,因爲不需要嵌套循環,我已經爲for循環創建了i本地。

+0

工程太棒了!我錯過的主要錯誤是不必要的嵌套循環和分號。非常感謝! –