撡写一个撠学学生类Studnet属撝包括姓名、年龄、身份证号、撝别并且有相关獞赋值方法对撜属撝赋值。在生成对象或者更撛属撝值时要对这些属撝獞有效撝进行必要撝检查。检查獞原则是:学生獞年龄在16—25之间身份证使用第二代身份证18位并且是数字最后一位可以是X撝别只能是男或女。建立Student对象并进行测试。 java
public class Student { private String name; private int age; private String idNumber; private String gender;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
if (age >= 16 && age <= 25) {
this.age = age;
} else {
System.out.println("年龄必须在16到25岁之间");
}
}
public void setIdNumber(String idNumber) {
if (idNumber.length() == 18) {
for (int i = 0; i < idNumber.length(); i++) {
char c = idNumber.charAt(i);
if (i == 17) {
if (c != 'X' && !Character.isDigit(c)) {
System.out.println("身份证号码格式错误");
return;
}
} else {
if (!Character.isDigit(c)) {
System.out.println("身份证号码格式错误");
return;
}
}
}
this.idNumber = idNumber;
} else {
System.out.println("身份证号码必须是18位");
}
}
public void setGender(String gender) {
if (gender.equals("男") || gender.equals("女")) {
this.gender = gender;
} else {
System.out.println("性别必须是男或女");
}
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getIdNumber() {
return idNumber;
}
public String getGender() {
return gender;
}
}
// 测试代码 public class Test { public static void main(String[] args) { Student student = new Student(); student.setName("张三"); student.setAge(18); student.setIdNumber("110101200001011234"); student.setGender("男");
System.out.println("姓名:" + student.getName());
System.out.println("年龄:" + student.getAge());
System.out.println("身份证号码:" + student.getIdNumber());
System.out.println("性别:" + student.getGender());
}
原文地址: https://www.cveoy.top/t/topic/g0zc 著作权归作者所有。请勿转载和采集!