写错了
这个程序中, stu[i].number=i;//为什么报空指针错,现我须给这20个对象属性赋值,应该如何写呢,
多谢,
这个程序中, stu[i].number=i;//为什么报空指针错,现我须给这20个对象属性赋值,应该如何写呢,
多谢,
解决方案 »
- 求判断一个数是否存在一列数组中的代码
- 有谁去过中软国际培训的吗?效果怎么样
- java操作连接池的相关问题
- 一个面试题,求解
- JBossOpenTool .jar 这个文件倒底在用jbuilder + jboss 中用不用啊!!!
- 请教一个简单的局部变量问题
- 一个把文件夹压缩的method 代码,但是我把文件压缩后好像文件的内容与原来不一致,有些错位。请高手相助!!
- JTable某一列的数据中对齐和右对齐问题
- 请问,如何接收由0字节结束的字符串
- 新手前来报道!!!!!!!!!!!(散分)
- 请大牛帮小弟解决一个问题:MyEclipse的DB browse
- System.out.println('a'+1);不能执行?
Student[] stu=new Student[20];
这个行能通过?
public class Stu { public static void main(String[] args) {
Student[] stu = new Student[20];
for(int i = 0 ; i < 20 ; i++){
//创建一个Student对象
Student s = new Student();
s.setNumber(i);
stu[i] = s;
//打印设置后的值
System.out.println(stu[i].getNumber());
}
}
}
class Student{
private int number;
private int state;
private int score;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getState() {
return state;
}
public void setState(int state) {
this.state = state;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}楼主只是声明了一个长度为20的Student数组,但是数组里面并没有Student对象,调用stu[i]实际上是null
public class B { public static void main(String[] args) {
Student[] stu=new Student[20];
for(int i=0;i<stu.length;i++){
stu[i] = new Student();
stu[i].number=i;//
}
for(Student s : stu)
System.out.println(s.number); }
}class Student{
int number;
int state;
int score;
}
每个元素都是null
Student[] stu=new Student[20];
for(int i=0;i<stu.length;i++){
Student st=new Student();
st.number=i;
stu[i]=st;
}
你的这种情况是访问或修改 null 对象的字段。所以报空指针错.