java 根据情况返回不同类型_Java里如何实现一个方法在不同情况下“返回”不同的类型变量?...

实践中,我们经常遇到这样的问题:要求一个方法对输入的参数进行判断后,返回不同的类型变量。

我们知道,一个给定的方法的返回值只能是一种数据类型,看起来,和上面的要求是矛盾的。但是,当我们换个角度看这个问题的时候,就可以得到解决之道。

比如,要求实现一个方法对输入的年龄(年龄用int类型变量表示)进行判断:如果>= 1 && <= 100方法就返回该年龄;如果不在上面那个范围之内,则返回“ERROR”字符串。

我们可以利用异常来巧妙地很好地处理这个问题。

就上面的例子,列出程序代码实现如下:

public class Customer {

private int age;

public int setAge(int age) throws Exception {//函数可能抛出异常,所以必须在这里进行标记

if(age >= 1 && age <= 100) {

this.age = age;

return age;

}

throw new Exception("ERROR");

}

public static void main(String[] args) {

Customer cus = new Customer();

/*符合条件的输入*/

try {

System.out.println("符合条件的age输入返回值:" + cus.setAge(50));

} catch(Exception ex) {

System.out.println(ex.getMessage());

}

/*不符合条件的输入*/

try {

int result = cus.setAge(500);//注意这里:输入500,也可以将返回值赋值给int型变量

} catch(Exception ex) {

System.out.println(ex.getMessage());

}

}

}

运行结果:

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值