2017-09-22 53 views
-1

我想從用戶輸入中使用一條打印線來填充兩個單獨的3x3陣列,但我似乎只能做兩個2輸入打印行,1爲每個數組集。我將如何削減對兩條單獨掃描線的需求,並讓用戶分別放置所有18個整數並分別放置在每個單元格中? 這是用戶的兩個單獨的提示:如何使用一條打印線來填充2個2D陣列

int m1 [][] = new int[3][3]; 
int m2 [][] = new int[3][3];  
System.out.print("Enter List1: "); 
for (int row = 0; row < m1.length; row++) 
{ 
    for(int column = 0; column < m1[row].length; column++) 
    { 
     m1[row][column] = input.nextInt(); 
    } 
} 

System.out.print("Enter List2: "); 
for (int row = 0; row < m2.length; row++) 
{ 
    for(int column = 0; column < m2[row].length; column++) 
    { 
     m2[row][column] = input.nextInt(); 
    } 
} 

這裏,我們有兩個提示用戶輸入每個分別填充所述陣列。這可以減少到一個提示,並填寫前9個數字到第一個數組,最後9個到第二個數組?

+0

是的,它可以減少這種方式。你是怎麼試圖做到這一點的?你爲什麼需要這樣做? – DevelopingDeveloper

+0

@DevelopingDeveloper是的,我試過了,我的問題是,當我嘗試將它們結合起來時,我得到了一個越​​界異常,因爲它試圖將完整的輸入放在一個數組中。我需要這樣做,因爲Im儘可能快地輸入數字後,試圖讓數組立即執行多個任務。 –

+0

刪除'System.out.print(「Enter List2:」);'代碼中只剩下一條打印線。 – Andreas

回答

0

你只需要刪除System.out.print("Enter List2: ");,然後用戶可以輸入18個數字而不會中斷。

int m1 [][] = new int[3][3]; 
int m2 [][] = new int[3][3]; 
System.out.print("Enter List1 and List2 (18 numbers): "); 
for (int row = 0; row < m1.length; row++) 
{ 
    for(int column = 0; column < m1[row].length; column++) 
    { 
     m1[row][column] = input.nextInt(); 
    } 
} 
for (int row = 0; row < m2.length; row++) 
{ 
    for(int column = 0; column < m2[row].length; column++) 
    { 
     m2[row][column] = input.nextInt(); 
    } 
} 

//Print two array 
System.out.print("List1: "); 
for (int row = 0; row < m1.length; row++) 
{ 
    for(int column = 0; column < m1[row].length; column++) 
    { 
     System.out.print(m1[row][column] + " "); 
    } 
    System.out.println(); 
} 
//Print two array 
System.out.print("List2: "); 

for (int row = 0; row < m2.length; row++) 
{ 
    for(int column = 0; column < m2[row].length; column++) 
    { 
     System.out.print(m2[row][column] + " "); 
    } 
    System.out.println(); 
} 

上述程序執行時,輸入輸出&:

Enter List1 and List2 (18 numbers): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 
List1: 
1 2 3 
4 5 6 
7 8 9 
List2: 
10 11 12 
13 14 15 
16 17 18 
+0

我想我正在過度使用它,謝謝。 –