2012-11-01 1 views
0

나는이 임무의 일부로 문제를 겪고있다. 문제는 다른 파일에 평균을 쓰도록 요청하지만 다른 파일에서 결과를 볼 때 평균은 의미 응답이 있어야하는 곳에 물음표를 표시합니다. 내가 가진 유일한 문제는 while 루프 내부의 코드 다. 아무도 내가 잘못한 것을 말해 줄 수 있습니까?Java에서이 코드에서 내가 뭘 잘못하고 있니?

File file = new File (filename); 
Scanner inputFile = new Scanner (filename); 

filename = inputFile.nextLine(); 


while(inputFile.hasNext()) 
{ 
    double number = inputFile.nextDouble(); 
    sum = number + sum; 
    count++; 
    line = inputFile.nextDouble(); 
} 
inputFile.close(); 
mean = sum/count; 
+0

두 가지 값을 읽지 만 하나를 버리는 다른 문제와 관계없이 ... –

+0

왜 마지막 행 = inputFile.nextDouble()를 넣었는지 궁금합니다. 나는 캠퍼스 실험실에서 이것을 아주 자주 본다. 추측 해봐? –

답변

1
double number = inputFile.nextDouble(); 
sum = number + sum; 
count++; 
line = inputFile.nextDouble(); 

당신은 nextDouble 두 번 호출 만 고려하면 값을 건너 뛰는 것을 의미합니다 첫 번째 통화를하고있다. 그래서 귀하의 합계와 따라서 의미가 잘못되었습니다.

마지막 줄을 제거하십시오. line = inputFile.nextDouble();

+1

그는 또한 루프 밖에서 숫자 변수를 선언 한 다음 좋은 연습을 위해 루프 내에서 설정하기를 원할 수도 있습니다. – WilliamShatner

+0

@WilliamShatner, 동의 함 – rizalp1

+0

@WilliamShatner 왜? 숫자가 루프 밖에서 유용하지는 않습니다. –

0

루프에서 nextDouble()을 두 번 호출하고 있으므로 두 번째 숫자 만 읽습니다.

관련 문제