java-我需要一个仅在 while 循环中使用而不被分配的值

标签 java

您好,我很难阻止“EXTERMINATE”被分配为变量之一,我只想使用它,以便 while 循环知道何时结束,这是否可能,该值未分配到变量并仅用于循环? 编辑:

public static void ello() {
    String ans1 = "";

    String number1input = "";

    String ans2 = "";

    String number2input = "";

    int number1 = 0;

    int number2 = 0;
    while (!ans1.equals("EXTERMINATE") || !ans2.equals("EXTERMINATE")) {
        ans1 = JOptionPane.showInputDialog("Name an animal?");

        if (ans1.equals("EXTERMINATE")) {
            break;
        }
        number1input = JOptionPane.showInputDialog("How many are left in the wild?");
        number1 = Integer.parseInt(number1input);
        ans2 = JOptionPane.showInputDialog("Name an animal?");
        if (ans2.equals("EXTERMINATE")) {
            break;
        }
        number2input = JOptionPane.showInputDialog("How many are left in the wild?");
        number2 = Integer.parseInt(number2input);
        if (number1 <= number2) {
            number2 = number1;
            ans2 = ans1;
        } else {
            number1 = number2;
            ans1 = ans2;
        }
    }
}

谢谢

最佳答案

您可以对 JOptionPane 中的数据使用不同的变量,然后在检查它不是“EXTERMINATE”后将该变量的值分配给 ans1

替换

int number2 = 0;
while (!ans1.equals("EXTERMINATE") || !ans2.equals("EXTERMINATE")) {
    ans1 = JOptionPane.showInputDialog("Name an animal?");

    if (ans1.equals("EXTERMINATE")) {
        break;
    }

int number2 = 0;
String tempAns;
while (true) {
    tempAns = JOptionPane.showInputDialog("Name an animal?");
    if ("EXTERMINATE".equals(tempAns)) {
        break;
    }
    ans1 = tempAns;

现在 ans1 将没有机会包含“EXTERMINATE”。另请注意 while(true),因为您正在 break 原始 while 循环中的两个条件。

旁注:最好写

"EXTERMINATE".equals(tempAns)

而不是

tempAns.equals("EXTERMINATE")

如果 tempAns 为 null,前者是安全的,而后者将抛出 NullPointerException

关于java-我需要一个仅在 while 循环中使用而不被分配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33554234/

相关文章:

JavaFX:运行应用程序的获取阶段

java - 数据库到 GUI 或数据库到对象到 GUI

java - 从父节点创建的 Jackson 引用对象

java - 使用JAVA GAE sdk执行DeferredTask

java - 在 PostgreSQL JDBC 中设置架构似乎不起作用

java - 使用Java JsonPath获取JSON父节点

java - 使用泛型和反射的单例工厂

java - 如何为 JODConverter 2.2 指定 DocumentFormat

java - 字符串长度的差异(数据库 - .txt 文件)

java - 解码 Dozer 映射文件以提供映射库