【发布时间】:2010-10-16 23:24:44
【问题描述】:
System.out.print("Enter an integer: ");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int lArray = x - 2;
int[] newArray = new int[lArray];
System.out.println("Let's display all possible integers...");
for (int i = 0; i <= newArray.length; i++) {
newArray[i] = i + 2;
System.out.print(newArray[i] + " ");
}
我最近才开始使用 Java,但我确信如果我用另一种语言进行类似的编码,我会面临同样的问题。这是一个应用程序的摘录,它列出了用户输入之前的所有素数。
之所以用x-2作为lArray的定义,是因为数组的长度会是从2到数{2,3,4,5...x}的所有整数。
我注意到这条线
for (int i = 0; i <= newArray.length; i++) {
如果我将i <= newArray 更改为i < newArray,则代码可以正常工作。但是,如果 x 是素数,用户的输入 x 会被忽略。
【问题讨论】:
标签: java