我想根据用户输入列出n个数字。然后,我想在每个位置添加第二个数字并打印整个表格。至于测试,我尝试使用长度4和数字1,2,3,4,但出现错误:ArrayIndexOutOfBounds。我希望它打印1,2,3,4。

Scanner keyboard = new Scanner (System.in);

System.out.println("Whats the length of the table?");
int lengde = keyboard.nextInt();

int[] minTabell = new int[lengde];

for (int i =1; i <= lengde+ 1; i++) {
  System.out.println((i) + (" give a number"));
  minTabell[i] = keyboard.nextInt();
}

System.out.println(minTabell);


keyboard.close();

最佳答案

Java数组中的索引从0开始,而for循环从1开始。因此,

for (int i =1; i <= lengde+ 1; i++) {
  System.out.println((i) + (" give a number"));
  minTabell[i] = keyboard.nextInt();
}


应该

for (int i =0; i < lengde; i++) {
//          ^    ^^^^^^^^
  System.out.println((i+1) + (" give a number"));
//                    ^^^
  minTabell[i] = keyboard.nextInt();
}


至于打印数组的内容,我建议您使用

for (int i : minTabell)
    System.out.println(i);

关于java - 表麻烦。我需要帮助使他们,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26100116/

10-12 00:39
查看更多