关于年龄和姓名的校验:在输入的方法中用一个判断语句,不符合条件即递归覅用方法。
代码如下:
import java.util.Scanner;
public class MidAgePerson {
private String name;
private int age;
public void setName(){
System.out.println("请输入姓名");
Scanner scanner=new Scanner(System.in);
name=scanner.next();
/*中文姓名一般是两到四个字*/
/*不满足条件即递归调用方法*/
if(name.length()<2||name.length()>4){
System.out.println("姓名长度不符合规范,请重新输入姓名");
setName();
}
}
public void setAge(){
System.out.println("请输入年龄");
Scanner scanner=new Scanner(System.in);
age=scanner.nextInt();
/*世界卫生组织对中年的年龄定义为45~59岁*/
/*不满足条件即递归调用方法*/
if(age<45||age>59){
System.out.println("年龄不符合中年范围,请重新输入年龄");
setAge();
}
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MidAgePerson person=new MidAgePerson();
person.setName();
person.setAge();
System.out.println("此人姓名为:"+person.getName()
+",年龄为:"+person.getAge());
}
}