使用随机整数java来清除2D数组

时间:2015-10-30 02:52:15

标签: java random

我正在尝试创建一个充满1到10之间随机整数的nxn数组。当我尝试将其打印出来时,我得到一个奇数个整数但没有填充数组,并且从未达到正确的整数数(例如,假定的5x5数组返回17个整数)。下面是代码片段,假设所有变量都被正确声明,除非此处包含并导入了java.util.Random。

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]);
           }
        }
     }
  }

1 个答案:

答案 0 :(得分:0)

它不会打印17个整数,它会打印16个。这是因为16是4 * 4而你应该已经完成​​了

new int[power][power]

而不是

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

评论也是正确的,应该是

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

但这并不能解释你的问题,因为数组是方形的。