Это только часть кода. Поэтому по какой-то причине, когда я пытаюсь запустить это, и значения находятся в допустимых пределах, я получаю «Недопустимый вес!». но он не должен делать это как заявление else.switch, if-else и math
Итак ... Я выбираю 1 как выбор, который я хочу, где я должен ввести возраст в месяцах и вес в кг. возраст должен составлять от 0 до 24 месяцев. Вес должен составлять от 2 до 15 кг.
If weight(kg) >= (age(months))/3 + 2 and
weight(kg) <= (5*age(months))/12 + 5...
Я хочу распечатать «Здоровый». Если не с этим диапазоном - не здоровым.
System.out.println("(1) months then weight in kg");
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
int selection = input.nextInt();
switch(selection){
case 1:
System.out.println("Enter age in months: ");
double month = input.nextDouble();
if(month >= 0 && month <= 24){
System.out.println("Enter a weight in kg: ");
} else{
System.out.println("Not a baby anymore");
System.exit(0);
}
double weight = input.nextInt();
if(weight >= 2 && weight <= 15 && weight >= (month/3) +2 && weight <= ((5 * month)/12) +5) {
System.out.println("Healthy!");
} else if(weight <= (month/3) +2 && weight >= ((5 * month)/12) +5) {
System.out.println("Not Healthy!");
} else{
System.out.println("Invalid Weight!");
}
break;
...
}
Вы не можете получать ввод правильно. Распечатайте весовую переменную и посмотрите, действительно ли это реальная ценность, а не какой-то мусор. Кроме того, вы используете 'input.nextInt()', но вы устанавливаете 'weight' как' double'. Сохраняйте свои типы данных. –
Какая серия входов вам не подходит? – Mureinik
Тип данных был усталой ошибкой с моей стороны. Имея или условие, исправил мою проблему. Thx –