有人可以解释我为什么" 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;
}
答案 0 :(得分:0)
您应该使用:
if (odp11.equals("yes"))
当你比较String时,因为==
测试一个引用值相等的引用。