我正在学习Java,并逐步完成了在陶森大学(Towson University)在线举办的练习,而我对此练习感到困惑。
代码如下:
import java.util.Scanner;
public class Overflow2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int[]vals = new int[10];
System.out.println("how many values should be stored in the array? ");
int count = scan.nextInt();
for (int i = 0; i < count; i++) {
vals[i] = count - i ;
}
System.out.println("Which value do you wish to retrieve? ");
int which = scan.nextInt();
System.out.println("Your value is " + vals[which]);
}
}
行
for (int i = 0; i < count; i++) {
vals[i] = count - i ;
}
一个人如何确定合法指数范围?我假定,鉴于
int[]vals = new int[10];
索引范围将是数组的长度-1,即9,但这似乎不正确。解决方案的格式为
数字-等式运算符-i-等式运算符-数字
感谢您的帮助。
答案 0 :(得分:0)
我假设...索引范围将是数组的长度-1,所以9,但这似乎是不正确的。
是正确的。合法索引为0到9(含0)。仅当用户输入10
或更少时,该程序才能运行。如果他们输入的内容大于10
,则会崩溃,并显示ArrayIndexOutOfBoundsException
。
如果您对术语学得太深,您就错了:确切地说,最大索引是9。一个 range 会有两个端点。您可以使用以下任意一种方式来描述范围: