Person

西北小笨笨 2013-05-04 09:53:08
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行是非法表示,
...全文
232 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
WingSa 2013-05-07
  • 打赏
  • 举报
回复
基本的排错问题,使用ultral edit或者eclipse,都可以找到错误,一个一个排除即可。 在eclipse中,每行的错误一般都标注了原因,慢慢看,或者百度一下,都可以 这个求助别人是不行的,因为这是基础。
huoer_gf 2013-05-05
  • 打赏
  • 举报
回复
首先你代码粘过来就有问题,+号跑到引号里,无参构造函数没有用大括号括起来,下面那个PersonTest没有加public,而且应另外写一个类!
EllisTian 2013-05-05
  • 打赏
  • 举报
回复
而且在p2.set方法里面也有错误
EllisTian 2013-05-05
  • 打赏
  • 举报
回复
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没有加{}
qbz_96 2013-05-05
  • 打赏
  • 举报
回复
 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();
   
  }
 } 
sxnbo 2013-05-05
  • 打赏
  • 举报
回复
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();
	  } 
}
sxnbo 2013-05-05
  • 打赏
  • 举报
回复
代码抄错了
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(); } }
w304341736 2013-05-05
  • 打赏
  • 举报
回复
7楼说得对,楼主慢慢检查一下代码吧
齐岳 2013-05-04
  • 打赏
  • 举报
回复
4楼说的很对
齐岳 2013-05-04
  • 打赏
  • 举报
回复
第五行 public Person(){ 少了}
nmyangym 2013-05-04
  • 打赏
  • 举报
回复
搂主参考一下:

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();

	}
}
归去来兮918 2013-05-04
  • 打赏
  • 举报
回复
你试试不就知道了,书上也不一定对,还有你确定你就没copy对?多动手试试
西北小笨笨 2013-05-04
  • 打赏
  • 举报
回复
可是这是书上的源代码啊!书上的也没有啊,怎么到我这儿就不行了
归去来兮918 2013-05-04
  • 打赏
  • 举报
回复
你的name、age成员变量前面没有static,不是静态变量,怎么能在构造方法或方法里引用呢!!!!

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧