首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

帮忙写个种,保证不难

2011-11-29 
帮忙写个类,保证不难。写一个类Person,包含以下属性:String name int age booleangenderPerson partner。

帮忙写个类,保证不难。
写一个类Person,包含以下属性:String name; int age; boolean gender;Person partner。为Person类写一个marry(Person p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺信息,否则输出不能结婚原因。要求在另外一个类中写一个主方法,来测试以上程序。(下列情况不能结婚:1,同性;2,未达到结婚年龄,男<24,女<22;3,某一方已婚)

欢迎大家讨论。

[解决办法]
简单如下,有不确切的定方请指教

public class Person{
private String name; 
private int age; 
private boolean gender;/*true is man */
private Person partner;
/* 简单表示一下,这里最好添加一些get ,set 函数来设置一下姓名,性别等*/

public void Person(String name,int age,boolean gender,Person partner ){
this.name=name;
this.age=age;
this.gender=gender;
this.partner=partner;
}
public void marry(Person p){

if(this.gender==true&&this.gender!=p.gender&&this.age<24&&p.age<22&&this.partner==null&&p.partner==null)
System.out.println("恭喜二位可以结婚");
 
else if(this.gender==false&&this.gender!=p.gender&&this.age<22&&p.age<24&&this.partner==null&&p.partner==null)
System.out.println("恭喜二位可以结婚");
else System.out.println("很遗憾,你们不能结婚");
}
}
[解决办法]
LS的年龄判断有误
借用LS的代码
class Person{ 
private String name;
private int age;
private boolean gender;/*true is man */ 
private Person partner; 
/* 简单表示一下,这里最好添加一些get ,set 函数来设置一下姓名,性别等*/ 

public void Person(String name,int age,boolean gender,Person partner ){ 
this.name=name; 
this.age=age;
this.gender=gender; 
this.partner=partner; 

public void marry(Person p){ 
if (this.gerder && p.gender) {
System.out.println("同性,不能结婚");
return;
}

if ((this.gender)?(this.age<24 || p.age<22):(this.age<22 || p.age<24)) {
System.out.println("未达到结婚年龄");
return;
}

if (this.partner!=null || p.partner!=null) {
System.out.println("某一方已婚");
return;
}

this.partner = p;
p.partner = this;
System.out.println("恭喜二位可以结婚"); 
  

}

public class Test {
public static void main(String[] args) {
Person boy = new Persion("boy", 25, true, null);
Person girl = new Person("girl", 23, false, null);
boy.marry(girl);
}
}
[解决办法]
public class Person {
static final boolean man = true,falme =false;
String name ;
int age;
boolean gender;
Person partener;
public Person(String n,int a,boolean g,Person p) {
this.name = n;
this.age = a;
this.gender = g;
this.partener = p;
}
public void marry(Person p) {
if(gender&&p.gender) {
System.out.println("gender is the same");
return;
}else if((age<24)||(p.age)<24) {
System.out.println("age don't reach");
return;
}
System.out.println("恭喜,恭喜");
}
public static void main(String[] args) {
Person p1 = new Person("张三",16,man,null);
Person p2 = new Person("李四", 28,falme,p1);
p2.marry(p1);
}
}
[解决办法]
public class Person {
String name;
int age;
String gender;


Person partner;


public Person(String name,int age,String gender){
this.name=name;
this.age=age;
this.gender=gender;
}


public void Marry(Person p){
partner=new Person("hui",24,"woman");

if(!p.gender.equals(partner.gender))
{
if(p.gender.equals("man")){
if(p.age>=24){
if(partner.age>=22){
System.out.println("Marry");
}
else{System.out.println("The age of girl is not enough");}
}
else{System.out.println("The age of man is not enough");}
}
else{
if(p.age>=22){
if(partner.age>=24){
System.out.println("Marry");
}
else{System.out.println("The age of man is not enough");}
}
else{System.out.println("The age of girl is not enough");}

}
}
else{System.out.println("The gender is same");}
}

public static void main(String args[]){
Person p=new Person("liu",25,"man");

p.Marry(p);
}
}

[解决办法]
支持啊宝
[解决办法]
遗憾!没有人写的完全规范正确,基本功有待提高阿。

Java code
public class Person {    public static final boolean M = true, F = false;    private String name;    private int age;    private boolean gender;    private Person partner;    public Person(String name, int age, boolean gender) {        this.name = name;        this.age = age;        this.gender = gender;    }    public String getName() {        return name;    }    public int getAge() {        return age;    }    public boolean getGender() {        return gender;    }    public boolean isMarried() {        return partner != null;    }    public void marry(Person p) {        if (gender == p.getGender())            System.out.println("Same gender!");        else if (isMarried() || p.isMarried())            System.out.println("Someone married already!");        else if (gender == M && age < 24          || gender == F && age < 22          || p.getGender() == M && p.getAge() < 24          || p.getGender() == F && p.getAge() < 22)            System.out.println("Someone too young!");        else {            System.out.println("Congratulations!");            partner = p;        }    }    public static void main(String[] args) {        Person tom, jerry, jack, lisa;        tom = new Person("Tom", 24, Person.M);        jerry = new Person("Jerry", 22, Person.F);        jack = new Person("Jack", 18, Person.M);        lisa = new Person("Lisa", 20, Person.F);        System.out.println("Tom is trying to marry Lisa...");        tom.marry(lisa);        System.out.println("Tom is trying to marry Jack...");        tom.marry(jack);        System.out.println("Tom is trying to marry Jerry...");        tom.marry(jerry);        System.out.println("Tom is trying to marry Lisa, again! ...");        tom.marry(lisa);            }} 

热点排行