Java.lang.ArrayIndexOutOfBoundsException-但是程序仍然正确执行吗?
我正在尝试创建一个程序,根据Java.lang.ArrayIndexOutOfBoundsException-但是程序仍然正确执行吗?,java,arrays,Java,Arrays,我正在尝试创建一个程序,根据 关于直方图应为多少行的用户输入,以及 实际数字(也是用户输入) 该程序运行良好,但我得到以下信息: 线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:5 位于test.test.main(test.java:32) /Users/[myname]/Library/Caches/NetBeans/8.2/executor snippets/run.xml:53: Java返回:1次生成失败(总时间:7秒) 当
- 关于直方图应为多少行的用户输入,以及
- 实际数字(也是用户输入)
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String star = "*";
int index = 1;
System.out.println("How many lines?");
int num = input.nextInt();
System.out.println("Your histogram will be "+ num +" lines");
int[] histogram = new int[num];
for (int i = 0; i < histogram.length; i++) {
System.out.println("Please write number " + index++);
histogram[i] = input.nextInt();
}
System.out.println("Here is your histogram: ");
for (int i = 0; 1 < histogram.length; i++) {
for (int j = 0; j < histogram[i]; j++)
System.out.print(star);
System.out.println();
}
System.exit(0);
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(System.in);
字符串星=“*”;
int指数=1;
System.out.println(“多少行?”);
int num=input.nextInt();
System.out.println(“您的直方图将是“+num+”行”);
int[]直方图=新的int[num];
对于(int i=0;i
更换:
for (int i = 0; 1 < histogram.length; i++) {
for(int i=0;1
作者:
for(int i=0;i
否则,它将执行正确的次数(因为i
仍在递增,而内部循环一直循环到i
),并在到达“OutofBounds”时崩溃,但由于循环在程序末尾,它看起来执行正确。替换:
for (int i = 0; 1 < histogram.length; i++) {
for(int i=0;1
作者:
for(int i=0;i
否则,它将执行正确的次数(因为
i
仍然递增,并且内部循环一直循环到i
),并在到达“边界外”时崩溃,但由于循环位于程序的末尾,因此它看起来执行正确。发生错误的原因是您编写了1
,而实际上是指i
如果你不知道我指的是哪里,这里是:
System.out.println("Here is your histogram: ");
for (int i = 0; 1 < histogram.length; i++) { // <-- this line right here
for (int j = 0; j < histogram[i]; j++)
System.out.print(star);
System.out.println();
}
System.out.println(“这是您的直方图:”);
对于(inti=0;1i
时编写了1
如果你不知道我指的是哪里,这里是:
System.out.println("Here is your histogram: ");
for (int i = 0; 1 < histogram.length; i++) { // <-- this line right here
for (int j = 0; j < histogram[i]; j++)
System.out.print(star);
System.out.println();
}
System.out.println(“这是您的直方图:”);
对于(inti=0;1对于(inti=0;i?