2015-10-30 45 views
0

我想創建一個nxn數組,其中包含1到10之間的隨機整數。當我嘗試打印出來時,我得到了一個不填充數組的奇數個整數,從未達到正確數量的整數(例如,假定的5x5數組返回17個整數)。代碼片斷如下,假設所有變量都被正確聲明,除非包含在這裏,並且java.util.Random被導入。用隨機整數查找二維數組java

if (choice==1){ 
    Random rand = new Random(); 
    System.out.println("Please input a power n for (nxn array) between 1-6"); 
    int power = kb.nextInt(); 
    int[][] randMatrix = new int[power-1][power-1]; 
    if (power < 1 || power > 6){ 
     System.out.println("Invalid power"); 
    }else{ 
     for (i=0; i<randMatrix.length; i++){ 
      for (j=0; j<randMatrix.length; j++){ 
       randMatrix[i][j] = rand.nextInt(9); 
      } 
     }for (i=0; i<randMatrix.length; i++){ 
      for (j=0; j<randMatrix.length; j++){ 
       System.out.println(randMatrix[i][j]); 
      } 
     } 
    } 
    } 
+0

您的j循環在條件中使用了錯誤的長度。 – csmckelvey

+0

嘗試(j = 0; j dmolony

回答

0

它不打印17個整數,它打印16.這是因爲16是4×4,你應該做的

new int[power][power] 

而不是

new int[power-1][power-1] 

的意見也是正確的,它應該是

for (j = 0; j < randMatrix[i].length; j++) 

但這並不能解釋你的問題,因爲數組是方形的。