2021年7月17日 星期六

JAVA IO套件-03 讀取數字

  這一篇是我想到我以前做研究時最需要的基本能力,可以讀取數字檔案,並對其內容做操作,以完成我們想要的分析。我的書上沒看到這部份的語法教學,似乎這個能力對寫 JAVA 的人來說並非必要,所幸網路上找得到教學,應該做數值分析或統計的人都用得到吧!

  建立專案後,把準備好的 整數檔.txt 放到專案資料夾中,我這次放的是一個十十乘法的值。這次我直接在主程式寫,結果整數檔案必須放在專案的資料內,跟我的第一次不同,卻跟第二次相同,這部份我還想不到理由。以下是十十乘法的值,按圖可放大。

主程式:我使用了和前兩次練習相同的方式讀取文字檔案的每一行,所以如果我的前兩次練習在做什麼都有理解,那其實這次的重點就只有包含我做註解的那一行往下六行而已。

/* 讀整數 */
import java.io.*;
public class Main {

public static void main(String[] args) throws IOException{
String nameInteger;
nameInteger = "整數檔.txt";
if( new File(nameInteger).exists()) {
BufferedReader fileInteger = new BufferedReader(new FileReader(nameInteger));
String line;
while ((line = fileInteger.readLine()) != null) {

String [] unit = line.split("\\s+"); // 用一個或多個空格分割字串,並指定給字串陣列。
int size = unit.length;
int[] intgerRow = new int[size];
for (int i = 0; i < size; i++){
intgerRow[i] = Integer.
parseInt(unit[i]);
}

System.
out.println(intgerRow[1] + " + " + intgerRow[2] + " = " + (intgerRow[1]+intgerRow[2]));
}
fileInteger.close()
;
}
else {
System.
out.println("沒有 " + nameInteger + " 登!登!");
}
}
}

結果:看得出來是可以做數值運算的,所以的確有把讀取到的字串轉換成數字。

2 + 3 = 5
4 + 6 = 10
6 + 9 = 15
8 + 12 = 20
10 + 15 = 25
12 + 18 = 30
14 + 21 = 35
16 + 24 = 40
18 + 27 = 45
20 + 30 = 50

Process finished with exit code 0

  我必須說,以讀取的功能來說, fortran 真的是方便多了。上面那些程式碼如果沒物件導向的基本概念,應該不容易看懂,難怪我當時的學校物理系、化學系是教 fortran 而非 JAVA 了。雖然 fortran 處理數字和讀取檔案容易,不過以未來求職的角度來看,還是其他語言比較有優勢。

  最後,寫這麼多行只為了處理一個檔案,主程式顯得很亂,之後我還是把這些處理方式寫在類別裡面吧!

沒有留言:

張貼留言