小白教程

 找回密码
 立即注册
查看: 7570|回复: 3

[已解决]为什么输入不合法,程序还是继续执行下面的代码?

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2021-5-21 17:05:25 | 显示全部楼层 |阅读模式
请教各位大神,为什么在setter里设置了年龄必须在0-100之间,但是即使输入了错误的数字,程序还是一直执行到底?
  1. class getter {
  2.     private String name;
  3.     private int age;   

  4. public String getName() {
  5.         return this.name;
  6.     }

  7.     public void setName(String name) {
  8.         this.name = name;
  9.     }

  10.     public int getAge() {
  11.         return this.age;
  12.     }

  13.     public void setAge(int age) {
  14.         if(age>0&&age<100){
  15.             this.age = age;
  16.     }else {
  17.         System.out.println("输入不合法,请重新输入!");
  18.         return;
  19.     }
  20.     }
  21. }
  22. ——————————————————————————————
  23. import java.util.Scanner;

  24. public class test {
  25.     public static void main(String[] args) {
  26.         getter g = new getter();
  27.         Scanner sc = new Scanner(System.in);
  28.         System.out.println("请输入姓名:");
  29.         String s1 = sc.nextLine();
  30.         g.setName(s1);
  31.         System.out.println("请输入年龄:");
  32.         int s2 = sc.nextInt();
  33.         g.setAge(s2);
  34.         System.out.println(g.getName());
  35.         System.out.println(g.getAge());
  36.         System.out.println("我叫"+g.getName()+","+"我今年"+g.getAge()+"岁");
  37.     }
  38. }
复制代码


最佳答案
2021-5-28 14:27:32
return只是结束当前方法,也就是setAge方法,main还在继续执行啊
如果你的ide足够智能,它会提示你 'return' 不必要,因为是 'void' 方法中的最后一条语句
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2021-5-24 06:51:54 | 显示全部楼层
只是打印了那句话而已,并没有中断程序。
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2021-5-28 14:27:32 | 显示全部楼层 &
return只是结束当前方法,也就是setAge方法,main还在继续执行啊
如果你的ide足够智能,它会提示你 'return' 不必要,因为是 'void' 方法中的最后一条语句
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2021-6-1 13:21:20 | 显示全部楼层
set方法里面抛出一个异常,在main方法里面捕获这个异常
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-9-20 12:34 , Processed in 0.036416 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表