这与方法userInput()及其if语句有关。无论如何,userInput()的输出为0,为什么?我知道calculate = 0的初始值;但我想改变它,以便每次用户输入“Paper”,例如calculate = 1的值;我试过了一切!现在我想知道我的if语句有什么问题。请帮忙。 (对不起,如果我是菜鸟)
import java.util.Scanner;
class RPS{
private static String[] userOption = new String[]{"Rock", "Paper","Scissors"};
public static void main(String[] args){
System.out.println("Enter: Rock, Paper Or Scissors");
System.out.println(userInput());
}
public static int userInput(){
int calculate = 99;
Scanner input = new Scanner(System.in);
String userChoice = input.nextLine();
if(userChoice == userOption[0]){
calculate = 0;
} else if(userChoice == userOption[1]){
calculate = 1;
} else if(userChoice == userOption[2]){
calculate = 2;
}
return calculate;
}
}
答案 0 :(得分:0)
如果使用字符串,则必须使用equals
方法。
e.g:
if(userChoice.equals(userOption[0]))
因为如果使用==
,它会检查对象的引用是否相等。