Мне нужно написать программу, которая запрашивает целые числа и циклы до тех пор, пока ввод не станет отрицательным целым числом, когда программа закончится. Кроме того, в цикле необходимо подсчитать общее количество положительных целочисленных записей и добавить все записи вместе. Часть кода count, кажется, работает нормально, но мой подход к получению суммы всех записей НЕ работает.
То, что я пробовал в своем коде, это поместить итоговое значение = общее + входное значение в конце цикла, но это не дает правильную сумму при тестировании.
Кроме того, мой безопасный тип блока работает только для первой записи;если я ввожу букву после целого числа, программа вылетает. Не должен ли этот цикл вернуться к блоку типа safe в начале каждой записи?
Я вставил копию своего вывода внизу.
Любая помощь будет принята.
int count = 0;
int total = 0;
Scanner scan = new Scanner(System.in);
System.out.print( "Enter an integer, negative to quit: " );
while(!scan.hasNextInt())
{
scan.nextLine();
System.out.println( "That is not an integer." );
System.out.println( "Please enter an integer." );
}
int input = scan.nextInt();
while (input >= 0)
{
System.out.print( "Next integer: " );
input = scan.nextInt();
count++;
total = total + input;
}
System.out.println( "Count: " + count );
System.out.println( "Total: " + total );
Когда я запускаю свой код, я получаю следующий вывод:
run:
Введите целое число, отрицательное для выхода: h
Это нецелое число.
Пожалуйста, введите целое число:
1
Следующее целое число: 2
Следующее целое число: 3
Следующее целое число:-1
Количество: 3
Всего: 4
СТРОИТЬ УСПЕШНО (общее время: 10 секунд)