2013-10-16 1 views
-2

프로그램 작성시 최대 10 회 반복되는 루프에 숫자 시퀀스가 ​​표시됩니다. 사용자가 음수를 입력하면 중지하고 합계와 평균을 표시합니다. 사용자가 10 개의 숫자를 입력 한 후 프로그램을 중지하는 데 문제가 있습니다. 합계와 평균은 정답을 출력하지 않습니다. 이 문제를 해결하는 데 도움이 될 것입니다. 여기 내 코드 :사용자 정수 및 출력 합계 및 평균을 얻을 루프

 while(count<MAX){ 
      while(num>=02){ 
       count++; 
       sum=sum+num; 
      } 
      System.out.println("Enter a number, negative to STOP: "); 
      num=input.nextInt(); 
     } 
     avg=sum/count; 
     System.out.println("====================================="); 
     System.out.println("You entered " + count + " positive numbers."); 
     System.out.println("The sum = " + sum); 
     System.out.println("The average = " + avg); 
    } 
} 
+0

우리는 레벨 1의 프로그래밍 콘테스트에 참가하지 않습니다. 질문은 무엇입니까? – Sage

+1

연습 문제를 SO 질문으로 게시하는 것이 좋지 않습니다. 질문이있는 경우, 수행하려는 전체 운동이 아니라 발생한 문제 만 설명하십시오. 복사하여 붙여 넣기는 쉽지만 다른 사람에게 로봇이 아니라 도움을 요청하는 것은 고려하지 않습니다. 코드에 대해 구체적으로 문제를 설명하기 위해 기꺼이 노력하겠다는 것을 보여주십시오. –

답변

0

while 루프를 다음과 같이 바꾸어보십시오.

sum= num; 
while(count<MAX-1){ 
    System.out.println("Enter a number, negative to STOP: "); 
    num=input.nextInt(); 
    if (num < 0){ 
     break; //or whatever else you want to do in this case 
    } 
    sum= sum + num; 
    count++; 
} 

희망이 도움이됩니다.

+0

예, 이전 코드에는 무한 루프가 있기 때문에 컴퓨터를 사용하여 조건을 다시 정의 할 기회를 결코 게임 할 수 없기 때문입니다. –