Java 扫描仪中的变量出现故障

Java 扫描仪中的变量出现故障,java,Java,有人能解释一下,如果我手动键入,为什么“pyt11”会接受“yes”,但如果我从扫描器中获取,并将字符串“a”放在看不到我的变量的地方,为什么会这样 从pyt11(a)(如果我在扫描器中键入“是”)得到b值0 从pyt11(“是”)给我b值20 有人知道为什么 public static Scanner into; public static void main(String[] args) { into = new Scanner(System.in); String a =

有人能解释一下,如果我手动键入,为什么“pyt11”会接受“yes”,但如果我从扫描器中获取,并将字符串“a”放在看不到我的变量的地方,为什么会这样

从pyt11(a)(如果我在扫描器中键入“是”)得到b值0

从pyt11(“是”)给我b值20

有人知道为什么

public static Scanner into;
public static void main(String[] args) 
{
    into = new Scanner(System.in);
    String a = into.nextLine();
    System.out.println(a);
    System.out.println(pyt11(a));
    System.out.println(pyt11("yes"));
}
static int pyt11(String odp11) 
{

    int b = 0;
    if (odp11 == "yes")
    {
        b = 20;
    }
    else if (odp11 == "maybe" || odp11 == "partially")
    {
        b = 10;
    }
    else if (odp11 == "no")
    {
        b = 0;
    }
    return b;

}
你应使用:

if (odp11.equals("yes"))
比较字符串时,请使用
==
测试一个引用等式而不是值