2013-11-26 45 views
2
System.out.println("Please Enter the Size of your arrays"); 
     int arraysize = in.nextInt(); 
     //initalize array 
     int [][] aOne = new int[arraysize][arraysize]; 
     int [][] aTwo = new int[arraysize][arraysize]; 
     int [][] aSum = new int[arraysize][arraysize]; 
     // load array 1 
     for (int i = 0; i< aOne.length; i++){ 
      for(int x = 0; i<aOne[i].length;x++){ 
       aOne[i][x] = ((int)(Math.random()*15)); 

      } 

     } 

上面的數組...應該工作,不是嗎?我不知道爲什麼我無法用Math.random填充它。我遇到了這個數組的麻煩,它會一直返回一個超出界限的錯誤,爲什麼?

有什麼建議嗎?

+2

你的內循環是指'i' ...'I'AONE [I] .length'應該是'X dcsohl

+0

這個問題似乎是脫離主題,因爲它是關於明顯的錯字。 –

+0

@JoshuaTaylor - 這會如何使這個題外話? – admdrew

回答

4

您的循環第二個有一個錯字

for(int x = 0; i<aOne[i].length;x++){ 

注意

應該

for(int x = 0; x<aOne[i].length;x++){ 
+2

哦,上帝該死。謝謝。我真的瘋了-_- –

+0

其實它仍然返回界限> _ < –

+0

@ChristopherBaldwin我試着複製和粘貼這段代碼,修復了錯字,至少對我來說,它會運行完成。你確定它是完全相同的代碼 –

0

你犯了一個錯字。試試這個:

System.out.println("Please Enter the Size of your arrays"); 
    int arraysize = in.nextInt(); 
    //initalize array 
    int [][] aOne = new int[arraysize][arraysize]; 
    int [][] aTwo = new int[arraysize][arraysize]; 
    int [][] aSum = new int[arraysize][arraysize]; 
    // load array 1 
    for (int i = 0; i< aOne.length; i++){ 
     for(int x = 0; x<aOne[i].length;x++){ 
      aOne[i][x] = ((int)(Math.random()*15)); 

     } 

    } 
2
for(int x = 0; i<aOne[i].length;x++){ 

應該是:

for(int x = 0; x<aOne[i].length;x++){ // NOTE THE x<, not i< 
相關問題