Java 为什么我的扫描器不等于数组中的一个值?请帮助初学者

Java 为什么我的扫描器不等于数组中的一个值?请帮助初学者,java,arrays,if-statement,methods,Java,Arrays,If Statement,Methods,这与方法userInput()及其if语句有关。userInput()的输出无论如何都是0,为什么?我知道calculate的初始值=0;但我想更改它,以便用户每次输入“Paper”时,例如calculate=1的值;我什么都试过了!现在我想知道我的if语句有什么问题。请帮忙。(对不起,如果我是个笨蛋) 如果使用字符串,则必须使用equals方法 e、 g: 因为如果使用==,它会检查对对象的引用是否相等 没问题,很乐意帮忙如果这个解决方案对你有帮助,接受这个答案,把你的问题标记为已回答。说我必

这与方法userInput()及其if语句有关。userInput()的输出无论如何都是0,为什么?我知道calculate的初始值=0;但我想更改它,以便用户每次输入“Paper”时,例如calculate=1的值;我什么都试过了!现在我想知道我的if语句有什么问题。请帮忙。(对不起,如果我是个笨蛋)


如果使用字符串,则必须使用
equals
方法

e、 g:


因为如果使用
==
,它会检查对对象的引用是否相等

没问题,很乐意帮忙如果这个解决方案对你有帮助,接受这个答案,把你的问题标记为已回答。说我必须在2分钟内完成。但我会确保我做到的!再次感谢:这是你的问题答案。。
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;
        }   
}
if(userChoice.equals(userOption[0]))