2014-02-09 38 views
-1

我必須生成一個程序,可以讀取我已經給出的文件。該文件包含應該與溫度值相似的365行數據。每行的第一個值是低溫,第二個是高溫。從這些數值中,我必須確定天數,最低溫度,最高溫度的最高值,然後確定低點的平均值和高點的平均值。讀取數據文件並處理信息,每行有兩個值

這是我到目前爲止。我有被分割每行兩個值單獨對付他們,所以我可以把它變成一個雙重這樣我就可以在他們做的計算問題

import TextIO.*; 

public class Temperature { 

    public static void main(String[] args) { 


    TextIO.readFile("temperatures.dat"); 


    //double salesTotal; // Total of all sales figures seen so far. 
    int dayCount, string1, a; 
    double tempTotal=0; 
    String dataString; // Number of cities for which data is missing. 

    dayCount = 0; 

    while (! TextIO.eof()) { // process one line of data. 
     dayCount++; 
     dataString = TextIO.getln(); // Get the rest of the line. 
     a = dataString.indexOf(" "); 
     TextIO.put("\n" + a); 

    } 
    TextIO.put(dayCount); 

    } 



} 
+0

文件中的值是什麼格式? –

+0

該文件是一個.dat文件,但值大部分是雙倍,一些整數。 下面是一個例子: -1.5 \t 13.1 -13.3 \t -5.6 22.1 \t 28.6 編輯*它不持有它的格式,當我將它張貼在這裏,但數字是在一個圖表樣式。它看起來像他們之間有幾個空間,但沒有空間。 – ImprovingPants

+0

可能重複的[如何在Java中分割字符串](http://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java) –

回答

0

給我的感覺你的問題來自於一個功課所以我不會把所有的樂趣都拿出來,但是......你看到的東西很可能是一個由java代碼爲\t的選項卡。

你有這麼遠:

dataString = TextIO.getln(); 

然後,您將需要這些兩個數字分開,有幾種方法可以做到這一點,但我帶你的領導,並使用indexOf方法。

String low = dataString.substring(0, dataString.indexOf("\t")); 
String high= dataString.substring(dataString.indexOf("\t")+1); 

然後你需要將這些字符串轉換爲數字,但我確定你可以弄清楚:)。


如果你發現自己不知道那是什麼人物,你可以做這樣的事情

public static void printStringChars(String str) { 
    for(int i=0;i<str.length();i++) 
     System.out.println("(" + str.charAt(i) + ") " + (int)str.charAt(i)); 
} 

然後去查查它在ASCII表打印出來的數字,如這一個http://www.asciitable.com/

+0

工作就像一個魅力。謝謝 :) – ImprovingPants

相關問題