Что я пытаюсь сделать
Я хочу, чтобы мой логический оператор if выполнял итерацию переменной, когда входные данные выходят за пределы диапазона.
Проблема
числа, которые я ввожу, чтобы быть проверенными операторами if, кажется, не работают. Если 3 введенных числа меньше -6,0 или выше 12,3, регистрируется сбой, но переменная int
, которую я использовал, кажется, никогда не меняется.
То, что я пытался
Я пытался переключитьсяпорядок итерации и просто использование + 1, но переменная «failures» всегда остается равной 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;
}
}
}
}
Я ожидаю, что система выведет «Отказы Azuview 2», когда я введу числа вне логического условияно программа, похоже, не распознает, что вход за пределами диапазона. «aFailures» начинается с 0, но никогда не меняется от операторов if ...