iT邦幫忙

2025 iThome 鐵人賽

DAY 21
0
自我挑戰組

30 天完成:血壓健康追蹤系統系列 第 21

從檔案讀取血壓紀錄

  • 分享至 

  • xImage
  •  

之前都是一次輸入好幾天的血壓,但如果是正式版連續30天的話不可能每天都要重新輸入前幾天的紀錄。如果可以從檔案讀取曾經輸入過的血壓紀錄的話就會方便很多

新增程式碼:
1.叫出檔案把天數歸零後重新開始計數並顯示讀取內容

File file = new File("blood_pressure_records.txt");
        Scanner reader = new Scanner(file);
        dayIndex = 0;
        while (reader.hasNextLine()) {
            String line = reader.nextLine();
            System.out.println(line);

2.從文字中讀取血壓數字
用冒號分割字串再用斜線分開紀錄收縮壓與舒張壓,字串轉整數,每成功一筆資料就把天數加一

String[] parts = line.split(": ");
            if (parts.length > 1) {
                String[] values = parts[1].split("/");
                if (values.length == 2) {
                    systolic[dayIndex] = Integer.parseInt(values[0]);
                    diastolic[dayIndex] = Integer.parseInt(values[1]);
                    dayIndex++;

3.選擇

while (true) {
    System.out.println("\n請選擇功能:");
    System.out.println("1. 新增血壓紀錄");
    System.out.println("2. 顯示所有紀錄");
    System.out.println("3. 顯示平均血壓");
    System.out.println("4. 儲存至檔案");
    System.out.println("5. 從檔案讀取");
    System.out.println("0. 離開系統");
    System.out.print("輸入選項:");

    int choice = input.nextInt();
    input.nextLine(); // 清除換行符號

    if (choice == 1) {
        addRecord(input);
    } else if (choice == 2) {
        showRecords();
    } else if (choice == 3) {
        showAverage();
    } else if (choice == 4) {
        saveToFile();
    } else if (choice == 5) {
        loadFromFile();
    } else if (choice == 0) {
        System.out.println("系統結束,感謝使用!");
        break;
    } else {
        System.out.println("無效選項,請重新輸入。");
    }
}

執行結果:

=== 血壓追蹤紀錄系統 ===

請選擇功能:
1. 新增血壓紀錄
2. 顯示所有紀錄
3. 顯示平均血壓
4. 儲存至檔案
5. 從檔案讀取
0. 離開系統
輸入選項:1
請輸入第 1 天的收縮壓:120
請輸入第 1 天的舒張壓:80
請輸入第 1 天的脈搏:70
已新增第 1 天的血壓紀錄。

輸入選項:1
請輸入第 2 天的收縮壓:135
請輸入第 2 天的舒張壓:85
請輸入第 2 天的脈搏:75
已新增第 2 天的血壓紀錄。

輸入選項:2

=== 血壓紀錄列表 ===
第 1 天:收縮壓=120 舒張壓=80 脈搏=70
第 2 天:收縮壓=135 舒張壓=85 脈搏=75

輸入選項:3
平均收縮壓:127.5,平均舒張壓:82.5,平均脈搏:72.5

輸入選項:4
血壓紀錄已成功儲存!

(重新啟動程式)

輸入選項:5
第 1 天: 120/80 脈搏=70
第 2 天: 135/85 脈搏=75
血壓紀錄已成功讀取!

上一篇
顯示紀錄時標註狀態
系列文
30 天完成:血壓健康追蹤系統21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言