如果调用这个方法时传递的参数不是0到100之间的数,加入是个大于100的数,那函数要求有个chai类型的字符返回值,该返回哪个呢?
所以,你可以提前对这个数判断一下,或者最后加上else,返回一个字符。
- public static char getLevel(int num)
- {
- if(num <=100 && num >=0) { // 判断是否是0到100之间的数
- if(num>=90 && num<=100)
- return 'A';
- if(num>=80 && num<=89)
- return 'B';
- if(num>=70 && num<=79)
- return 'C';
- if(num>=60 && num<=69)
- return 'D';
- if(num>=0 && num<=59)
- return 'E';
- }
- return ' '; // 不是0到100之间的数。可以用异常来做,如果不是0到100之间的数,就提示异常信息并作出相应解决办法
- }
复制代码
或者
- public static char getLevel(int num)
- {
-
- if(num>=90 && num<=100)
- return 'A';
- if(num>=80 && num<=89)
- return 'B';
- if(num>=70 && num<=79)
- return 'C';
- if(num>=60 && num<=69)
- return 'D';
- if(num>=0 && num<=59)
- return 'E';
- else{ // 如果不满足以上所有条件,也要给个结果吧!
- return ' ';
- }
-
- }
复制代码
用异常来做的话,自定义一个异常。
- public class Test {
- public static void main(String[] args) {
- System.out.println(getLevel(145));
- }
- public static char getLevel(int num)
- {
- if(num >= 100 || num <= 0){
- throw new OutOfBoundsException("数字越界了 "); // 当整数不是在0到100之间时,会抛出此异常。
- }
-
- if(num>=90 && num<=100)
- return 'A';
- if(num>=80 && num<=89)
- return 'B';
- if(num>=70 && num<=79)
- return 'C';
- if(num>=60 && num<=69)
- return 'D';
- else
- return 'E';
-
- }
- }
- class OutOfBoundsException extends RuntimeException {
-
- OutOfBoundsException(String str){
- super(str);
- }
- }
复制代码
|