为什么输入不合法,程序还是继续执行下面的代码?
请教各位大神,为什么在setter里设置了年龄必须在0-100之间,但是即使输入了错误的数字,程序还是一直执行到底?class getter {
private String name;
private int age;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
if(age>0&&age<100){
this.age = age;
}else {
System.out.println("输入不合法,请重新输入!");
return;
}
}
}
——————————————————————————————
import java.util.Scanner;
public class test {
public static void main(String[] args) {
getter g = new getter();
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名:");
String s1 = sc.nextLine();
g.setName(s1);
System.out.println("请输入年龄:");
int s2 = sc.nextInt();
g.setAge(s2);
System.out.println(g.getName());
System.out.println(g.getAge());
System.out.println("我叫"+g.getName()+","+"我今年"+g.getAge()+"岁");
}
}
只是打印了那句话而已,并没有中断程序。 return只是结束当前方法,也就是setAge方法,main还在继续执行啊
如果你的ide足够智能,它会提示你 'return' 不必要,因为是 'void' 方法中的最后一条语句 set方法里面抛出一个异常,在main方法里面捕获这个异常
页:
[1]