if else语句返回一个字符串,错误。

时间:2017-03-29 15:58:51

标签: java

为什么我会收到错误,是因为我在if检查后错过了一个回复?我可以通过将最后一次返回设置为空来解决它

public static String whoWins(rockPaperScissors user, rockPaperScissors computer){

    if(user == ROCK && computer == SCISSORSS){
        return "user wins";
    }
    if(user == PAPER && computer == ROCK){
        return " user wins";
    }
    if(user == SCISSORSS && computer == PAPER){
        return "user wins";
    }
    if(computer == ROCK && user == SCISSORSS){
        return "computer wins";
    }
    if(computer == PAPER && user == ROCK){
        return "computer wins";
    }
    if (computer == SCISSORSS && user == PAPER){
        return "computer wins";
    }
}

1 个答案:

答案 0 :(得分:2)

您收到错误,因为您的方法并不总是返回结果。例如,如果gdrive list -q "name = 'My folder name' and mimeType='application/vnd.google-apps.folder' and trashed=false"会发生什么?

在我看来,最简单的处理方法是抛出异常,因为你不应该到达最后一行。 gdrive list是一个很好的候选者,因为问题将来自传递给方法的无效参数。

user == null