java 自己定义的类型的数组的使用问题

自己定义了一个类People然后在main中想造一个由People元素组成的数组结果就报错了。。。何解?publicclassCaogao{publicstaticvoi... 自己定义了一个类People

然后在main中想造一个由People元素组成的数组

结果就报错了。。。何解?
public class Caogao {

public static void main(String[] args) {

People[] n = new People[3];
n[0].age = 1;
n[1].age = 2;
n[2].age = 3;
for(int i = 0; i < n.length; i++) {
System.out.println(n[i].age);
}

}

}

public class People {
int age;
double weight;
String name;

}
展开
 我来答
截竹为萧
2013-08-29 · TA获得超过155个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:196万
展开全部
//people[] 数组里面放的是对象,你还没有new 对象的实例 ,怎么可能取到他的成员变量。
改成如下:
  People[] n = new People[3];
   for(int i = 0;i < 3;i++){
     n[i] = new People();                  
     n[i].age = i;
   } 
更多追问追答
追问

还是有错啊

追答

//你多了个age。。。

 

n[i].age=new People() ; 改成  n[i]=new People();
zhang779896660
2013-08-29 · TA获得超过701个赞
知道小有建树答主
回答量:717
采纳率:100%
帮助的人:335万
展开全部
People数组 放的是People的对象, 你没建对象 就没有内存空间 然后就开始赋值 肯定就错啦
追问
那应该怎么改呢。。。每次赋值前都用new吗
追答
public class Caogao {

public static void main(String[] args) {

People[] n = new People[3];
n[0] = new People(1);
n[1] =new People(2);
n[2] = new People(3);
for(int i = 0; i < n.length; i++) {
System.out.println(n[i].age);
}

}

}
public class People {
int age;
double weight;
String name;

public People(){
}
//加个 构造方法就好
public People(int age){
this.age = age;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
有彡點
2013-08-29 · TA获得超过133个赞
知道答主
回答量:102
采纳率:100%
帮助的人:86.7万
展开全部
因为n[0]是一个null ,null去点,当然会空指针。下面的代码同理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式