帮忙写个类,保证不难。
写一个类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);
}
}
[解决办法]
支持啊宝
[解决办法]
遗憾!没有人写的完全规范正确,基本功有待提高阿。
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); }}