java - 多个条件的 if 方法出错

标签 java if-statement conditional-statements

我正在尝试获取用户输入以使用 <=1 和 <=24 的数字填充变量。目前,它仅转到 else 语句并打印这两行并等待另一个输入。即使输入满足三个条件。

例如。我正在输入 1。这应该满足所有三个条件?

程序应向用户提供与输入问题相对应的错误。

如果未输入整数,则仅要求输入数字。如果数字为 <1 或 >24,则应要求仅输入这两个点之间的数字。

    while (length1 == Integer.MIN_VALUE) {
        System.out.print("Enter the Length of wall 1: ");
        if (scan.hasNextInt() && 1<=length1 && length1<=24) {
            length1 = scan.nextInt();
        }
        else if (length1<1 && 24<length1) {
            System.out.println("Error Error");
            System.out.println("Please only enter numbers between 1 and 24.");
            scan.next();
        } else {
            System.out.println("Error Error");
            System.out.println("Please only enter numbers.");
            scan.next();
        }
    }

最佳答案

除了一个错误的&&之外,应该先读取nextInt。

while (true) {
    System.out.print("Enter the Length of wall 1: ");
    if (scan.hasNextInt()) {
        length1 = scan.nextInt();
        if (1 <= length1 && length1 <= 24) {
            break:
        }
        System.out.println("Error Error");
        System.out.println("Please only enter numbers between 1 and 24.");
    } else {
        System.out.println("Error Error");
        System.out.println("Please only enter numbers.");
        scan.next();
    }
}

关于java - 多个条件的 if 方法出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271015/

相关文章:

java - JSoup ArrayList 中的元素作为字符串与字符串不一样?

Python Pandas 条件标记

java - 在 Maven 中使用默认生命周期意味着什么

java - Android 静态类 vs 非静态类内存性能

python - if 变量的语句略有不同

Bash Curl 输出与变量比较?

Swift 用户创建未检测 UIText 长度

python - 将单个数据帧值与同一列中的前 10 个值进行比较

python - 从列表中删除一个元素(从列表列表中删除行)

java - 如何让 JSch API 在没有密码的情况下登录到 Unix 服务器?