Разбивая код, мы можем видеть, где будет проблема.
Вы инициализируете свои переменные.
int data;
int sum = 0;
int count =0;
Эта деталь выглядит правильно.
Затем вы начинаете свой первый цикл, чтобы получить свои данные от пользователя.
do {
System.out.print("Please enter a number: ");
data = input.nextInt();
count++;
}
while (count < 10);
Здесь мы видим, что для каждого времени мы итерации цикла мы устанавливаем переменную «данные» к значению и занесены приращения счетчика. Цикл выполняется 10 раз.
В точке мы выходим из цикла переменные будут установлены следующим образом:
data = `last number entered by the user`
sum = 0
count = 10
Теперь мы посмотрим на последнюю петлю.
while (sum !=0)
break;
Поскольку «сумма» = 0, мы никогда не вводим петлю.
Наконец, у нас есть заявление о печати.
System.out.println("The total is " + sum);
С «сумма» = 0 линия печататься будет сказать The total is 0
, если вы измените свой первый цикл к ...
do {
System.out.print("Please enter a number: ");
data = input.nextInt();
sum = sum + data;
count++;
}
while (count < 10);
то вы должны получить сумму данных занесены ,
Кроме того, ваш второй цикл следует удалить, так как даже если «сумма» не равна 0, он войдет в цикл и сразу же ударит оператор break, заставив его выйти из цикла.
Почему у вас есть бессмысленный цикл while и почему бы не использовать цикл for? Кроме того, вы даже не увеличиваете 'sum', так что вы ожидаете? – Li357
Как это могло быть? Вы никогда не меняете значение 'sum' после первоначального присвоения 0. --- Кроме того, ваш цикл do-while выглядит странно и отсоединен. Поместите 'while' в ту же строку, что и'} '. --- И как вы думаете, что 'while (sum! = 0) break,' loop делает, и почему вы так думаете? --- И, наконец, после получения значения и присвоения его 'data', разве вы, возможно, не хотите использовать значение для чего-то? – Andreas
По какой-то причине строка не копировалась, у меня есть «сумма + = данные»; выше моего второго заявления. Я должен был включить «перерыв»; потому что без него моя программа будет постоянно добавлять последний номер, введенный в себя. –