gpt4 book ai didi

java - 为什么我的嵌套 if 语句没有将 int 变量向上迭代 1?

转载 作者:太空宇宙 更新时间:2023-11-04 09:20:42 24 4
gpt4 key购买 nike

我正在尝试做什么

我希望我的 if 语句 boolean 值在输入超出范围时向上迭代变量。

问题

我输入的要由 if 语句检查的数字似乎不起作用。如果输入的 3 个数字小于 -6.0,或大于 12.3,则会记录失败,但我使用的 int 变量似乎从未改变。

我尝试过的

我尝试切换迭代顺序并仅使用 + 1,但“失败”变量始终保持为 0

import java.util.Scanner;

public class test {

public static void main(String[] args) {

String input = "a";
double aNum1;
double aNum2;
double aNum3;
int aFailures = 0;


Scanner scnr = new Scanner(System.in);


//Trix
while (true) {

System.out.println("Please enter a command:");
input = scnr.next();


if (input.equals("a")) {

System.out.println("Enter number 1:");
aNum1 = scnr.nextDouble();
System.out.println("Enter number 2:");
aNum2 = scnr.nextDouble();
System.out.println("Enter number 3:");
aNum3 = scnr.nextDouble();

if (aNum1 <= -6.0 && aNum1 >= 12.3) {
++aFailures;
}
if (aNum2 <= -6.0 && aNum2 >= 12.3) {
++aFailures;
}
if (aNum3 <= -6.0 && aNum1 >= 12.3) {
++aFailures;
}
}
if (input.equals("f")) {

System.out.println("Azuview failures: " + aFailures);
break;

}
}
}
}

当我输入超出 boolean 条件的数字时,我希望系统输出“Azuview Failures 2”,但程序似乎无法识别输入超出范围。 “aFailures”从 0 开始,但从 if 语句开始不会改变...

最佳答案

&& (AND) 运算符正在您的 if 中使用当你确实应该使用||时声明(或者)。 aNum1 <= -6.0 && aNum1 >= 12.3永远不会计算为 true,因为一个数字显然不能同时小于或等于 -6.0 且大于或等于 12.3。

至于程序的其余部分,我决定使用 for循环而不是使用三个单独的整数来检查相同的条件三次。

public static void main(String[] args) {
String input = "a";
int aFailures = 0;

Scanner scnr = new Scanner(System.in);

while (true) {
System.out.println("Please enter a command:");
input = scnr.next();

if (input.equals("a")) {
for (int i = 1; i <= 3; i++) {
System.out.println("Enter number " + i + ": ");
double num = scnr.nextDouble();
if (num <= -6.0 || num >= 12.3)
aFailures++;
}
} else if (input.equals("f")) {
System.out.println("Azuview failures: " + aFailures);
break;
}
}
scnr.close();
}

关于java - 为什么我的嵌套 if 语句没有将 int 变量向上迭代 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58359568/

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