实践中,我们经常遇到这样的问题:要求一个方法对输入的参数进行判断后,返回不同的类型变量。
我们知道,一个给定的方法的返回值只能是一种数据类型,看起来,和上面的要求是矛盾的。但是,当我们换个角度看这个问题的时候,就可以得到解决之道。
比如,要求实现一个方法对输入的年龄(年龄用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.prin