来自Scanner的变量问题

时间:2015-05-13 17:08:27

标签: java

有人可以解释我为什么" pyt11"采取"是"如果我手动输入它,但如果我从扫描仪中取出它并放入字符串" 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;

}

1 个答案:

答案 0 :(得分:0)

您应该使用:

if (odp11.equals("yes"))

当你比较String时,因为==测试一个引用值相等的引用。