public class StringTest 
{
    public static void main(String[] args)
    {
    
    Student[] students;
    students=new  Student[3];
    students[0]=new  Student("woaini",8);
    students[1]=new  Student("woaini",6);
    students[2]=new  Student("woaini",4);
for(int i=0;i<students.length;i++)
{
System.out.println(students[i]);
}
}
}
class Student
{
String name;
int age;
 Student(String name,int age)
{
this.name=name;
this.age=age;
}

}

我这哪里出错了?

解决方案 »

  1.   

    没有错,可能是无打印出你需要的结果,覆盖下Student里的toString()方法,默认打印类名及地址的
            @Override
    public String toString()
    {
    return "name>>>>>"+name+" age>>>>>"+age;
    }
      

  2.   

    System.out.println()
    方法的参数为一个对象的时候如果没有重写 toString 方法
    将会输出对象的地址
      

  3.   


    System.out.println(students[i]);
    这句话,你想要打印students对象的数组,因为没有将students中继承Object类的toString()方法重写,所以默认打印students数组中几个对象的地址.
    恩。
    顶1L
      

  4.   

    没有错吧···重写toString()方法···
      

  5.   


    public class StringTest  
    {
      public static void main(String[] args)
      {
      
      Student[] students;
      students=new Student[3];
      students[0]=new Student("woaini",8);
      students[1]=new Student("woaini",6);
      students[2]=new Student("woaini",4);
    for(int i=0;i<students.length;i++)
    {
    System.out.println(students[i]);
    }
    }
    }
    class Student
    {
    String name;
    int age;
    Student(String name,int age)
    {
    this.name=name;
    this.age=age;
    }public String toString(){
    return "The string you want to print is :the name:"+this.name+";the age:"+this.age;
    }}
      

  6.   

    对,你肯定是没有重写toString()方法。
      

  7.   

    为什么toString()方法要重写啊?
      

  8.   

    因为System.out.println方法会默认调用类对象的toString方法,你看下源码就知道了
      

  9.   

    还是不懂为什么toString()方法要重写
      

  10.   


    因为object里面的toString方法是返回该对象的散列码,基本上没什么用。
      

  11.   

    程序本身没有错的,就是你输出的结果是XXX@XXXX,后面的是地址,因为这打印对象==对象.toString();你需要重写toString()方法,来输出你所需要的东西…
      

  12.   

    System.out.println方法会默认调用类对象的toString方法,而默认的toString方法是空的,如果不调用,只能返回地址,如果重写的toSring就要覆盖掉默认的toString方法,从而返回你想要的结果。