Это мой первый вопрос в StackOverflow, я надеюсь сделать это правильно. Я делаю небольшое упражнение на Java для класса и уже немного схожу с ума. Я прошу помощи, потому что я не совсем понимаю, почему, если я изменяю MIN_PESO = 1;MIN_PESO = 0;Приложение перестает отвечать, как и должно.
Это программа, в которой мы вводим вес в диапазоне 0-250 кг.
Я знаю, что это должно быть что-то в моем определениипеременные, но я просто не понимаю этого вообще. Любой толчок?
Большое спасибо.
public class Main {
public static final Scanner SCN = new Scanner(System.in, "Windows-1252")
.useLocale(Locale.ENGLISH).useDelimiter("\\s+");
public static void main(String[] args) {
final int MIN_DIAS = 0;
final int MAX_DIAS = 2;
final int MIN_PESO = 1;
final int MAX_PESO = 250;
//Bucle for para X días
for (int i = MIN_DIAS; i < MAX_DIAS; i++) {
double pidePeso = 0;
//Do-while para introducir los datos correctos
do {
try {
//Entrada datos
System.out.printf("Día nº %d%n", i + 1);
System.out.printf("Introduzca el peso deseado: ");
pidePeso = SCN.nextInt();
//Condiciones
if (pidePeso > MAX_PESO || pidePeso < MIN_PESO) {
System.out.printf("%nERROR: Peso introducido incorrecto."
+ "%n%n");
} else {
System.out.printf("El peso introducido es ...: %.2f%n%n",
pidePeso);
}
} catch (Exception e) {
System.out.printf("%nERROR: Dato introducido no válido%n%n");
} finally {
SCN.nextLine();
}
} while (pidePeso > MAX_PESO || pidePeso < MIN_PESO);
}
}