java 小程序报错

来源:百度知道 编辑:UC知道 时间:2024/05/11 17:21:42
package com.use;

public class users {
int sid;
String username;
int age;
String sex;
address address1;
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public address getAddress() {
return address1;
}
public void setAddress(address ad) {
this.address1 = ad;
}

}

package com.use;

public class address {
private String city;
private String zipcode;
public String getCity() {
return c

users[] user = new users[3];
这句只是声明了一个数组,但数组是空的。所以报空指针异常
在这句后面加上下面的
user[0]=new users();
user[1]=new users();
user[2]=new users();
后面的不变

空指针错误啊,
你的address1还没有set呢,要address ad=new address();ad.setCity("上海");ad.setZipcode("20000");user[0].setAddress1(ad);
这样赋值才对,对应下面几个同样

users[] user = new users[3];
这样只是声明一个users数组,并没有new对象,将此后面跟一段这样的代码;
for(int i=0;i<user.length;i++){
user[i] = new user();
}
还有:user[0].address1.setCity("上海");
这样也是不行的,跟上面一样也会抛出空指针异常;