2016-09-18 2 views
-2

В течение последних пяти часов я боролся с этим кодом Java, который использует . В то время как цикл для добавления 10 пользовательских номеров. Я получил свой код для работы до тех пор, пока не придет время выводить сумму (что всегда неправильно, я обычно получаю 55).Сумма из 10 случайных чисел с использованием WHILE Loop - Java

Может кто-то , пожалуйста, Помогите мне исправить это? Мне кажется, что это небольшая ошибка, но я не могу сказать, где она.

Вот мой код:

import java.util.Scanner; 

public class Loops { 

public static void main(String[] args) { 
Scanner input = new Scanner(System.in); 

int sum = 0; 
int counter = 0; 

while (counter < 10) { 
System.out.println("Please enter a number: "); 
int i = input.nextInt(); 
counter++; 

sum = sum + counter; 
counter = counter + 1; 
} 
System.out.println("The total sum is " + sum); 
} 
} 
+1

'counter ++;' и 'counter = counter + 1;'? Здесь может быть слишком много ... – Tunaki

+0

Хорошо, вы суммируете их неправильно. 'sum = sum + i', а не' counter'. Кажется, вы используете два приращения счетчика? – Li357

ответ

0

Ваш код имеет пару ошибок внутри цикла while.

Во-первых, на этой линии:

sum = sum + counter; 

вы добавляете counter на сумму каждый раз. Переменная, содержащая входной номер, равна i, вы должны добавить это вместо этого.

Во-вторых, вы увеличиваете counter два раза каждый раз через цикл. Это означает, что вы действительно попросите пользователя пять номеров.

+0

Спасибо, всем! Я потратил ПУТЬ больше времени, чем следовало бы на это за такую ​​простую ошибку. Мой отладчик не имел никакого смысла для меня, так как я все еще новичок в кодировании. – hoshicchi

+0

Счастливые помочь. Если этот ответ или другой здесь решают вашу проблему, отметьте его как принятый. –

1

Вы должны следовать инструкциям, Вы читаете вход, а затем игнорируя его, он говорит, что вы должны быть суммируя их, а не счетчик.

Примечание: вам нужно только увеличить счетчик один раз.

Если вы потратили более 5 минут, не используя свой отладчик, скорее всего, вы тратите свое время.

Смежные вопросы