Разработка и внедрение приложение, которое считывает целое значение и выводит сумму всех четных целых чисел от 2 до его ввода значения включительно. Распечатайте сообщение об ошибке, если входное значение меньше 2. Подскажите соответственно.
Примечание: урок был на то время петли, а не другие циклы, такие как цикл и т.д.
Этот вопрос
у меня все работает, но что-то о том, как у меня есть это неправильно. У меня есть цикл while while(programOn)
, чтобы программа работала. без этого цикла while, если пользователь вводит номер < 2
, пользователя попросят повторить попытку, однако, если пользователь снова попытается, программа выйдет вместо запуска нового ввода в программу. Итак, я создал цикл while, чтобы принудительно открыть программу, пока пользователь не наберет приемлемый ввод.
- что-то об этом чувствует себя взломанным и неправильным, я бы очень признателен за некоторые валидации моего метода.
public static void main(String[] args){
int inputNumber;
int sum = 0;
boolean programOn = true;
Scanner scan = new Scanner(System.in);
System.out.println("Please Type a number no smaller than 2");
inputNumber = scan.nextInt();
//include the original input to sum
sum = inputNumber;
while(programOn){
if(inputNumber < 2){
System.out.println("you need a number greater than or equal to 2, try again");
inputNumber = scan.nextInt();
sum = inputNumber;
}else{
//from the number chosen divide until you reach 0
while(inputNumber != 0){
//subtract one from the number
inputNumber = (inputNumber - 1);
if((inputNumber % 2 == 0) && (inputNumber != 0)){
System.out.println(inputNumber);
//add the input to the sum
sum += inputNumber;
}
}
System.out.println("The sum is " + sum);
programOn = false;
}
}
}
Какой вклад пользователь должен дать, чтобы выйти из цикла как запланировано? – Alex