2014-03-06 9 views
0

所以我需要輸入這樣計數多組整型值在一個文件中

Joe Schmoe 
76.5 20 30 25 10 75.9 
Jilly Momilly Schmill 
50.5 30 30 35 37 28 32 35 34 34 49.2 
Gail Quail 
62.3 15 17 10 3 10 63.6 
Frank Crank 
83.2 5 83.2 
John Quann 
57.9 30 32 35 32 30 57.2 

我需要的程序,以讀出的數據並總結它爲每個人 例如用於喬蠢貨不與數據的文件放將是

​​

其是天數(整數)的總分鐘(整數的總和)每天總和/天的平均分鐘數,以及最終的值是第一雙減去第二。

我讀取數據的算法是:

public void summaryData() 
    { 
     try 
     { 
      while (inputStream.hasNext()) 
      { 
       line = inputStream.nextLine(); 
       firstWeight = inputStream.nextDouble(); 
       while (inputStream.hasNextInt()) 
       { 
          sum += inputStream.nextInt(); 
        count ++; 
        avg = (sum/count); 
       } 
       lastWeight = inputStream.nextDouble(); 
         outputStream.println(count + " " + sum + " " + avg + " " + (lastWeight-firstWeight)); 
      if(inputStream.hasNext()) 
        inputStream.nextLine(); 
      } 
     } 
     catch (InputMismatchException e) 
     { 
      System.out.print(e); 
      System.exit(0); 
     } 
    } 

我的問題是這樣的,我需要整型數和每個個體的總和重新開始,而不是將它們放在一起。

任何幫助或建議,不勝感激

輸出樣本:

4 85 21.0 -0.5999999999999943 
13 380 29.0 -1.2999999999999972 
18 435 24.0 1.3000000000000043 
19 440 23.0 0.0 
24 599 24.0 -0.6999999999999957 

回答

1

在每個新行重置計數

... 
while (inputStream.hasNext()) { 
    count = 0; 
... 

它看起來像你也有你的數學反轉的第一個也是最後一個...

lastWeight-firstWeight 

可能應該是

firstWeight-lastWeight 
+0

現在我的輸出爲4 85 21.0 -0.5999999999999943 9 380 42.0 -1.2999999999999972 5 435 87.0 1.3000000000000043 1 440 440.0 0.0 5 599 119.0 -0.6999999999999957 – user3389626

+0

它是lastWeight減去firstWeight分別檢查看看參與者是否因爲幫助而失去了體重,我是否也重置了每個人的總和? – user3389626

+0

相同的模式應該做的伎倆...添加「sum = 0;」在count = 0之後的行上; –

相關問題