public class Person{
     private int age=0;
     private String name="noname";
     private char sex='M';
     public Person(){
     public Person(String n,int a,char s){
       name=n;
       if(a>=0&&a<140)age=a;
       else age=0;
       if(s=='M')sex=s;
       else sex='F';
      }
     public void introduceme(){
     System.out.println("my name is:"+name"+\tmy age is:"+age);
     if(sex=='M')System.out.println("I am man!");
     else Syetem.out.println("I am woman!");
     }
   public String getName(){return name;}
   public void setName(String n){name=n;}
   public int getAge(){return age; }
   public void setAge(int a){
   if(a>=0&&a<140)age=a;
   }
   public char getSex(){return sex;}
   public void setSex(char s){
   if(s=='M')sex='M';
   else sex='F'; 
   }
  public boolean equals(Person a){
  if(this.name.equals(a.name)&&this.age==a.age&&this.sex==a.sex)
     return true;
     else
      return false;
      }
      public String toString(){
          return name+","+sex+","+age;
       }
}
  class PersonTest{
   public static void main(String args[]){
    Person p1,p2;
    p1=new Person("张三",28,'M');
    p2=new Person();
    p2.setName("陈红");p2.setAge(38);p2.setSex('F');
    p1.introduceme();
    p2.introduceme();
   
  }
 } 
}
  大家帮我我看看,运行时显示6、13、14,18,21,24,25,29,35行是非法表示,

解决方案 »

  1.   

    你的name、age成员变量前面没有static,不是静态变量,怎么能在构造方法或方法里引用呢!!!!
      

  2.   

    你试试不就知道了,书上也不一定对,还有你确定你就没copy对?多动手试试
      

  3.   

    搂主参考一下:
    class Person {
    private int age = 0;
    private String name = "noname";
    private char sex = 'M'; public Person() {//无参构造函数。注意大括号位置。
    } public Person(String n, int a, char s) {
    name = n;
    if (a >= 0 && a < 140)
    age = a;
    else
    age = 0;
    if (s == 'M')
    sex = s;
    else
    sex = 'F';
    } public void introduceme() {
    System.out.println("my name is:" + name + "\tmy age is: " + age);//注意双引号位置。
    if (sex == 'M')
    System.out.println("I am man!"); else
    System.out.println("I am woman!");
    } public String getName() {
    return name;
    } public void setName(String n) {
    name = n;
    } public int getAge() {
    return age;
    } public void setAge(int a) {
    if (a >= 0 && a < 140)
    age = a;
    } public char getSex() {
    return sex;
    } public void setSex(char s) {
    if (s == 'M')
    sex = 'M';
    else
    sex = 'F';
    } public boolean equals(Person a) {
    if (this.name.equals(a.name) && this.age == a.age && this.sex == a.sex)
    return true;
    else
    return false;
    } public String toString() {
    return name + "," + sex + "," + age;
    }
    }public class PersonTest {
    public static void main(String args[]) {
    Person p1, p2;
    p1 = new Person("张三", 28, 'M');
    p2 = new Person();
    p2.setName("陈红");
    p2.setAge(38);
    p2.setSex('F');
    p1.introduceme();
    p2.introduceme(); }
    }
      

  4.   

    第五行 public Person(){
    少了}
      

  5.   

    首先你代码粘过来就有问题,+号跑到引号里,无参构造函数没有用大括号括起来,下面那个PersonTest没有加public,而且应另外写一个类!
      

  6.   

      public boolean equals(Person a){
      if(this.name.equals(a.name)&&this.age==a.age&&this.sex==a.sex)
         return true;
         else
          return false;
          }
          public String toString(){
              return name+","+sex+","+age;
           }
    }
    在这里if语句有问题,else没有加{}
      

  7.   

    而且在p2.set方法里面也有错误
      

  8.   

    代码抄错了 
    public class Person{
    private int age=0;
        private String name="noname";
        private char sex='M';
        public Person(){}
        public Person(String n,int a,char s){
         name=n;
            if(a>=0&&a<140)age=a;
            else age=0;
            if(s=='M')sex=s;
            else sex='F';
        }
        public void introduceme(){
         System.out.println("my name is:"+name+"\tmy age is:"+age);
         if(sex=='M'){
         System.out.println("I am man!");
         }else {
         System.out.println("I am woman!");
            }
        }
        
         public String getName(){
          return name;
         }
         public void setName(String n){
          name=n;
         }
         public int getAge(){
          return age; 
         }
         public void setAge(int a){
        if(a>=0&&a<140)age=a;
         }
         public char getSex(){
         return sex;
         }
         public void setSex(char s){
       if(s=='M')sex='M';
       else sex='F'; 
         }
       
         public boolean equals(Person a){
          if(this.name.equals(a.name)&&this.age==a.age&&this.sex==a.sex)
          return true;
          else
          return false;
          }
          public String toString(){
              return name+","+sex+","+age;
          }
          public static void main(String args[]){
      Person p1,p2;
      p1=new Person("张三",28,'M');
      p2=new Person();
      p2.setName("陈红");p2.setAge(38);p2.setSex('F');
      p1.introduceme();
      p2.introduceme();
      } 
    }
      

  9.   

    public class Person{
    private int age=0;
        private String name="noname";
        private char sex='M';
        public Person(){}
        public Person(String n,int a,char s){
         name=n;
            if(a>=0&&a<140)age=a;
            else age=0;
            if(s=='M')sex=s;
            else sex='F';
        }
        public void introduceme(){
         System.out.println("my name is:"+name+"\tmy age is:"+age);
         if(sex=='M'){
         System.out.println("I am man!");
         }else {
         System.out.println("I am woman!");
            }
        }
        
         public String getName(){
          return name;
         }
         public void setName(String n){
          name=n;
         }
         public int getAge(){
          return age; 
         }
         public void setAge(int a){
        if(a>=0&&a<140)age=a;
         }
         public char getSex(){
         return sex;
         }
         public void setSex(char s){
       if(s=='M')sex='M';
       else sex='F'; 
         }
       
         public boolean equals(Person a){
          if(this.name.equals(a.name)&&this.age==a.age&&this.sex==a.sex)
          return true;
          else
          return false;
          }
          public String toString(){
              return name+","+sex+","+age;
          }
          public static void main(String args[]){
      Person p1,p2;
      p1=new Person("张三",28,'M');
      p2=new Person();
      p2.setName("陈红");p2.setAge(38);p2.setSex('F');
      p1.introduceme();
      p2.introduceme();
      } 
    }
      

  10.   

     class Person{
         private int age=0;
         private String name="noname";
         private char sex='M';
         public Person(){}
         public Person(String n,int a,char s){
           name=n;
           if(a>=0&&a<140)age=a;
           else age=0;
           if(s=='M')sex=s;
           else sex='F';
          }
         public void introduceme(){
         System.out.println("my name is:"+name+"+\tmy age is:"+age);
         if(sex=='M')System.out.println("I am man!");
         else System.out.println("I am woman!");
         }
       public String getName(){return name;}
       public void setName(String n){name=n;}
       public int getAge(){return age; }
       public void setAge(int a){
       if(a>=0&&a<140)age=a;
       }
       public char getSex(){return sex;}
       public void setSex(char s){
       if(s=='M')sex='M';
       else sex='F'; 
       }
      public boolean equals(Person a){
      if(this.name.equals(a.name)&&this.age==a.age&&this.sex==a.sex)
         return true;
         else
          return false;
          }      public String toString(){
              return name+","+sex+","+age;
           }
    }class PersonTest{
       public static void main(String args[]){
        Person p1,p2;
        p1=new Person("张三",28,'M');
        p2=new Person();
        p2.setName("陈红");p2.setAge(38);p2.setSex('F');
        p1.introduceme();
        p2.introduceme();
       
      }
     } 
      

  11.   

    基本的排错问题,使用ultral edit或者eclipse,都可以找到错误,一个一个排除即可。
    在eclipse中,每行的错误一般都标注了原因,慢慢看,或者百度一下,都可以
    这个求助别人是不行的,因为这是基础。