gpt4 book ai didi

java - boolean 方法不返回 false

转载 作者:行者123 更新时间:2023-12-02 05:14:10 25 4
gpt4 key购买 nike

它可以编译,只是它不会初始化 while (choice = false) 所以无论输入什么 ans,它都不会显示“无效输入,输入a、b、c:“并重申。

import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
Scanner kb = new Scanner(System.in);
String ans;
boolean choice;
System.out.print("Enter a, b, c: ");
ans = kb.nextLine();
choice = isValidChoice(ans);
while (choice = false)
{
System.out.print("Invalid input, enter a, b, c: ");
ans = kb.nextLine();
choice = isValidChoice(ans);
}
if (choice = true)
{
System.out.println("Your input was " + ans);
}
}
public static boolean isValidChoice(String choice)
{
if (choice.equalsIgnoreCase("a") || choice.equalsIgnoreCase("a")
|| choice.equalsIgnoreCase("a"))
{
return true;
}
else
{
return false;
}
}

}

最佳答案

需要比较时始终使用 == ,这在 Java 中表示相等,而 = 表示赋值。这与 PL/SQL 等某些语言不同。

因此,当您调用 while(choice =false) 时,Java 仅将 false 分配给变量 choice ,它不会将 choice 与 false 进行比较。

您应该使用 while(choice==false) 代替,与 if (choice == true) 相同

检查operators了解更多详情

关于java - boolean 方法不返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com