2017-09-22 20 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

我想我正在过度使用它,谢谢。 –