有5个错误,说找不到符号
public class Person {
   private String name;
   private int age;
   private char sex;
   Person(){}
   Person(String n,int a,char s){
name=n;age=a;sex=s;
}
}
class PersonTest{
public static void main(String args[]){
p=new Person[4];
for(int i=0;i<=3;i++)
p[i]=new Person(p+'i',20,'M');
for(int i=0;i<=3;i++)
println(p[i]);
}
}

解决方案 »

  1.   

    程序不止一个错!!!Java基础有待加强啊!
    不知道你程序的目的是什么所以按照我的想法改了public class Person {
      
      private String name;
      private int age;
      private char sex;
     
      Person(){}
      
      Person(String n,int a,char s)
      {
         name=n;age=a;sex=s;
      }
    }
    class PersonTest{    public static void main(String args[]){
        Person[] p=new Person[4];
        
        for(int i=0;i<=3;i++)
           p[i]=new Person("name",20,'M');
        for(int i=0;i<=3;i++)
           System.out.println(p[i]);
        }
    }
      

  2.   

    我改了,谢谢各位啊。我试了一下,String类型和其他基本类型做+运算时可以将其他类型的输出,是因为相加时自动将其他基本类型转换成了String类型吗?直接赋值好像不可以自动转换,会报错。所以可以说+运算时可以自动转换为String类型,而=运算时不可以吗
      

  3.   


    Java是强类型语言。。每个变量都有自己的类型。。这些都需要明白的。。
      

  4.   

    Java是强类型语言,不同javascript是动态语言,应该给每个变量指定类型。
      

  5.   

    String类型和其他基本类型做+运算时可以将其他类型的输出,是因为相加时自动将其他基本类型转换成了String类型吗
      

  6.   

    是的,lz要好好学学Java了,面向对象是最重要的
      

  7.   

    最起码应该实现person类的toString()方法,要不然打印出来是乱码。
      

  8.   

    不是乱码,是调用java.lang.Object中的toString()方法输出的为:类名@此对象的哈希码值
    例如:
    package test;public class Person {

    public static void main(String[] args) {
    Person person = new Person();
    System.out.print(person);
    }}
    输出结果:test.Person@c3c749
    所以输出对象要覆写toString方法