【发布时间】:2016-09-29 03:10:57
【问题描述】:
import static java.lang.System.*;
public class NumberVerify
{
public static boolean isOdd( int num )
{
if((num%2)==0)
{
boolean yes = true;
return true;
}
}
public static boolean isEven( int num )
{
if((num%2)!=0)
{
boolean yes = false;
return false;
}
}
}
错误消息在 } 上显示“缺少返回语句”。
我尝试添加
return true;
在嵌套的大括号集合之后
if((num%2)==0)
并用
做了类似的事情if((num%2!=0)
巢,虽然有
return false;
这只会导致 isOdd 弹出为 true 而 isEven 弹出为 false ,而不管输入的数字本身如何。
这是跑步者程序。
导入静态 java.lang.System.*; 导入 java.util.Scanner;
public class NumberVerifyRunner
{
public static void main ( String[] args )
{
//add in input
System.out.println("5 is odd :: " + NumberVerify.isOdd(5));
System.out.println("5 is even :: " + NumberVerify.isEven(5));
System.out.println("0 is odd :: " + NumberVerify.isOdd(0));
System.out.println("0 is even :: " + NumberVerify.isEven(0));
System.out.println("2 is odd :: " + NumberVerify.isOdd(2));
System.out.println("2 is even :: " + NumberVerify.isEven(2));
//add in more test cases
}
}
如何修复 NumberVerify 类中缺少的 return 语句?
【问题讨论】:
-
你没有返回所有可能的条件,所以你的方法在某些情况下可能不会返回,考虑到它有返回值,这是无效的。
-
在你的方法中,如果 IF 条件不成立怎么办;你的方法应该返回什么?编译器面临类似的挑战,所以它抛出了一个错误。
标签: java