2014-10-23 2 views
0

외부 파일에서 일부 성적을 얻고 그 합과 평균을 찾아 표시하는 프로그램을 만들고 있습니다. 또한 프로그램이 0에 도달하면 프로그램이 중지됩니다. 내 질문은 다음 번호가 0이 아닌지 테스트 할 때 해당 번호를 건너 뛴 다음 계산에서 해당 번호를 사용하지 않는다는 것입니다. 현재 내 접근 방식은 다음과 같습니다.스캐너 사양

while ((current = inFile.nextInt()) != 0) { 
      System.out.println(current); 
      sum += current; 
      numberOfScores++; 
     } 

변수가 테스트 될 때 동시에 변수를 설정합니다. 이 방법이 효과가 있지만 확실한 방법이 될 것입니다. 거기 있니? 나는 당신의 prompt-에 의해 조금 혼란 스러워요 --Cheers

+0

스캐너 개체는 어떻게 만듭니 까? –

+0

'while ((current = inFile.nextInt())! = 0)'나는 부질없는 조건 영역 외부로 할당을 제한하는 것이 좋습니다. – Compass

+0

그래서 inFile.nextInt()를 변수로 설정하고 테스트 한 다음 표시 하시겠습니까? – quixotrykd

답변

1

도움을 사전에

덕분에 당신은 당신의 접근 방식을 단순화하기 위해, 또는 제로지나 계속 할 수 있도록 찾고 계십니까?

어느 쪽이든, 귀하의 접근 방식은 약간 위험합니다. 이것은 프로그램 충돌을 야기합니다. 이 줄 중에서 뭔가 다른 곳이 있는지 확인하는 것이 좋습니다.

while(inFile.hasNextInt()){ 
    int tmp = inFile.nextInt(); 
    System.out.println(tmp); 
    sum += tmp; 
    numberOfScores++; 
} 

원하는 경우 코드를 추가하여 0을 건너 뛸 수 있습니다.