java循环向数组赋值。菜鸟提问 for循环里没有加括号(),为什么会报错呢,?

2024-12-23 12:31:52
推荐回答(5个)
回答1:

for循环不加{}来包裹相关内容的话, 他只会认for循环的下一句语句是循环内的,但for循环的下二句语句就不认在循环内。

for(i=0;i score[i]=i;
System.out.println(score[i]);

等同于

for(i=0;i{
score[i]=i;
}
System.out.println(score[i]);
由于以System.out.println(score[i]);里的i在循环外 所以你循环做完以后i的值已经超过了数组的下标,所以在System.out.println(score[i]);的时候出现了下标越界。

回答2:

你这个错是因为你的文件名字叫Demo19.java但是你写的public class demo19{}大小写弄错了
补充一点,for循环后面不加{}是没有问题的.
System.out.println(score[i]);会报ArrayIndexOutOfBoundsException:3意思是超过了3这个下标.
重新在另外一个循环里面遍历数组就可以了.
for(int j:score)
System.out.println(score[j]);

回答3:

length是数组的属性。错误不在这,而在System.out.println(score[i]); 这个时候的i超出下标了。

public class Demo19{
public static void main(String args[]){
int score[]=new int[3];
int i=0;

for(i=0;i score[i]=i;
for(i=0;i System.out.println(score[i]);
}
}

这样对齐好看一些。

javac Demo*.java
java Demo19

回答4:

for(i=0;i score[i]=i;
System.out.println(score[i]);
} //这里

加一对大括号就好了。
不过你的错误提示完全是另外一个问题:
Exception in thread "main" java.lang.NoClassDefFoundError: Demo19 (wrong name: d
emo19)
原因应该是这个Demo19类对应的java文件名字应该是Demo19.java 你看看是不是大小写不对。

这个错误和这里的for循环什么的没有关系。

回答5:

不加括号的情况下 只能是括号里只有一行内容
超出的就要加{}了