2016-09-18 1 views
-2

지난 11 시간 동안 나는 을 사용하는이 Java 코드로 어려움을 겪어 왔지만 루프는 10 개의 사용자 입력 숫자를 더합니다. 합계를 출력 할 때가 지 내 코드를 얻었습니다 (항상 잘못 되었기 때문에 보통 55를 얻습니다).WHILE 루프를 사용하는 10 개의 난수의 합 - 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 루프 내에 몇 가지 실수가 있습니다.

첫째,이 라인 : 당신이 합 counter 때마다 추가하는

sum = sum + counter; 

. 입력 된 숫자가 포함 된 변수는 i입니다. 대신이 값을 추가해야합니다.

두 번째로 루프를 통해 매번 두번 씩 counter을 증가시킵니다. 즉, 사용자에게 5 개의 숫자 만 묻는 것입니다.

+0

감사합니다. 모두들! 나는이 간단한 실수에 대해 내가 가지고 있어야하는 것보다 더 많은 시간을 보냈다. 필자가 코딩을 처음 접한 이래로 디버거는 나에게 아무런 의미가 없었습니다. – hoshicchi

+0

도와 드리겠습니다. 이 대답이나 여기에서 다른 문제가 해결 된 경우이를 승인 된 것으로 표시하십시오. –

1

당신은 당신은 그것을 무시하고 다음 입력을 읽고 있으며, 지침을 따라야합니다, 당신이 아닌 카운터를 합산해야 말한다 :

여기 내 코드입니다.

참고 : 카운터를 한 번만 증가시켜야합니다.

디버거를 사용하지 않고 5 분 이상을 소비했다면 시간을 낭비했을 것입니다.

관련 문제