对象数组中的循环 为什么不会出错三个0?????public class Test{
public static void main(String[] args){
System.out.println("main start....");
Man man1 ; man1=new Man();//引用 就是变量名
man1.weight=22;
man1.height=183;
System.out.println(man1.weight);
System.out.println(man1.height);
System.out.println(man1.count(man1.height,man1.weight));
//********************************************
Man[] mans=new Man[3];
for(int i=0;i<mans.length;i++)
{
System.out.println(mans[i].height);
}
System.out.println("main end....");
}
}
class Man{
double height=0;
double weight=0;//default
public Man(){
}
public Man(double height,double weight){
this.weight=weight;
this.height=height;
}
public double count(double height,double weight){
if(weight!=0)
{
return height/weight;
}
else
{
System.out.println("weight can not be 0!!!");
return 0;
}
}}
public static void main(String[] args){
System.out.println("main start....");
Man man1 ; man1=new Man();//引用 就是变量名
man1.weight=22;
man1.height=183;
System.out.println(man1.weight);
System.out.println(man1.height);
System.out.println(man1.count(man1.height,man1.weight));
//********************************************
Man[] mans=new Man[3];
for(int i=0;i<mans.length;i++)
{
System.out.println(mans[i].height);
}
System.out.println("main end....");
}
}
class Man{
double height=0;
double weight=0;//default
public Man(){
}
public Man(double height,double weight){
this.weight=weight;
this.height=height;
}
public double count(double height,double weight){
if(weight!=0)
{
return height/weight;
}
else
{
System.out.println("weight can not be 0!!!");
return 0;
}
}}
at Test.main(Test.java:15)
for(int i=0;i<mans.length;i++)
{
mans[i]=new Man();
}这个小问题20分都给你 太便宜你了呵呵
Man[] mans=new Man[3];
这里只是定义了Man数组,但是没有初始化,后面你调用mans[i]=new Man();
然后打印Man的属性值,当然就成了空指针异常,你可以在默认构造函数中初始化man的值
Public Man(){
.........
}