2013-04-25 72 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