2013-04-25 39 views
0

我聲明瞭一個具有100行和列的2d陣列。我試圖讓用戶來決定進入數組的數字。我應該存儲這些值而不將它們存儲在一個變量中。這是我有這麼遠,但我不認爲這是正確的掃描輸入時不將值存儲在變量中

public static void main(String[] args) 
{ 

    Scanner scan = new Scanner(System.in); 
    int [][] nums = new int[100][100]; 
    int digits; 

    for (int i = 0; i < nums.length; ++i) 
    { 

     int[scan.nextInt()][scan.nextInt()]; 

    } 
+2

你的意思是「存儲值而不將它們存儲在變量中」?你打算將它們存儲在一個數組中嗎? – 2013-04-25 17:28:45

+0

我的意思是掃描輸入而不存儲該值。我不知道這是否沒有道理。這是我的任務的一部分,但這是我沒有做的,但那就是我必須做的。 – user2227728 2013-04-25 17:30:01

+0

'int [scan.nextInt()] [scan.nextInt()];'這是什麼意思?你能說出你的意圖嗎? – 2013-04-25 17:31:54

回答

0

你需要使用嵌套循環for爲2-d陣列(一個用於行和一個列):

for (int i = 0; i < nums.length; ++i) 
    for (int j = 0; j < nums[i].length; ++j) 
{ 

    nums[i][j] = scan.nextInt(); 

} 
0

那麼,首先,你正在處理一個二維數組,所以你將需要兩個循環,一個用於行,另一個用於colums。

for(int i=0; i<100; i++) 
{ 
    for(int j=0;j<100;j++) 
     { 
       nums[i][j] = scan.nextInt(); 
     } 
} 

此語法 - int[scan.nextInt()][scan.nextInt()];甚至不合法。

+1

這是合法的語法,只是不是一個好主意。 – 2013-04-25 17:38:16

+0

好吧,試試吧,如果你認爲它是合法的! :) – CodeBlue 2013-04-25 17:41:57

+1

工程就好了。再一次,這是一個壞主意,因爲沒有邊界檢查,但它是完全合法的語法。 – 2013-04-25 17:44:29