广工java第一次作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import java.io.IOException;
import java.util.Scanner;
/**
*16. 写一个Person类,定义人的基本属性:name(姓名)、age(年龄)、gender(性别)、partner (配偶)。
要求至少为Person类写一个marry(Person p)方法,来判断两个人是否可以结婚。如果可以结婚,将其partner属性赋值为其配偶。
结婚必须满足以下3个条件。
必须是异性,同性暂时不允许结婚
有配偶者不能结婚,犯重婚罪。
要达到年龄方可结婚:男方23岁以上,女性21岁以上。
* @author Administrator
*
*/
class MemberOfPerson{
public String name;
public int age;
public String gender; //性别
public String partner;
}
public class Person {
/**
* 判断两个人的性别是否相同
* @param s 对象person的性别
* @param s2 对象person2的性别
* @return 返回一个boolean值
*/
private static boolean isSexDifferent(String s,String s2){
if((s.equals("男") && s2.equals("女"))||(s.equals("女") && s2.equals("男"))){
return true;
}
else if((s.equals("男") &&s2.equals("男"))||(s.equals("女") && s2.equals("女"))){ return false;
}
else{
System.out.println("你输入的性别数据有误");
return false;
}
}
/**
* 首先判断判断这个人的性别,之后再判断他们的年龄要求是否符合
* @param s 性别
* @param age 接受实参传过来的年龄值
* @return 返回一个boolean值
*/
private static boolean isAgeEnough(String s,int age){
if(s.equals("男")){
if(age > 23){
return true;
}
else{
return false;
}
}
else if(s.equals("女")){
if(age > 21){
return true;
}
else{
return false;
}
}
else{
System.out.println("你输入的性别表示符号有错,无法判断是男是女");
return false;
}
}
/**
* 判断是否已有配偶
* @param partner
* @return
*/
private static boolean isNotMarry(String partner){
if(partner.equals("true")){
System.out.println("\n有人已经结婚,如果此人再次结婚则犯重婚罪");
return false;
}
else if(partner.equals("false")){
return true;
}
else{
System.out.println("你输入的数据有错");
return false;
}
}
public static void main(String[] args)throws IOException {
MemberOfPerson person=new MemberOfPerson();
MemberOfPerson person2=new MemberOfPerson();
Scanner sc =new Scanner(System.in);
System.out.println("请按顺序输入person各属性值,分别为name,age,gender,partner."
+ "\n其中gender值只能为“男”或“女”,partner输入的值只能为“true”或“false”,有伴侣就输true,"
+ "没有就输false。\n否则将出错,该处理方法暂时有点问题,以后会改善这个问题");
= sc.next();
person.age = sc.nextInt();
person.gender = sc.next();
person.partner =sc.next();
System.out.println("请按顺序输入person2各属性值,分别为name,age,gender,partner."
+ "\n其中gender值只能为“男”或“女”,partner输入的值只能为“true”或“false”,有伴侣就输true,"
+ "没有就输false。\n否则将出错,该处理方法暂时有点问题,以后会改善这个问题");
= sc.next();
person2.age = sc.nextInt();
person2.gender = sc.next();
person2.partner = sc.next();
System.out.println("\n\n第一个人的属性:姓名:"++"\t年龄:"+person.age+"\t性别:"+person.gender+"\t结婚与否:"+person.partner);
System.out.println("第一个人的属性:姓名:"++"\t年龄:"+person2.age+"\t性别:"+person2.gender+"\t结婚与否:"+person2.partner);
boolean b1 = isSexDifferent(person.gender,person2.gender);
boolean b2 = isAgeEnough(person.gender,person.age);
boolean b3 = isAgeEnough(person2.gender,person2.age);
boolean b4 = isNotMarry(person.partner);
boolean b5 = isNotMarry(person2.partner);
if(b1==true&&b2==true&&b3==true&&b4==true&&b5==true){
System.out.println("\n这两个人可以结婚");
}
else{
System.out.println("\n这两个人不满足结婚的条件");
}
}