iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0

今天要計算出輸入的三樣數據的各個平均值是多少以便讓整體趨勢變更清楚

程式碼解釋:
計算平均值部分:
1.宣告一個變數來累加所有收縮壓、舒張壓、脈搏數值

int systolicSum = 0;
int diastolicSum = 0;
int pulseSum = 0;

2.for迴圈把每天輸入的數值加總起來

for (int i = 0; i < systolicArray.length; i++) {
            systolicSum += systolicArray[i];
            diastolicSum += diastolicArray[i];
            pulseSum += pulseArray[i];
        }

3.除以天數得到平均值,其中(double)表示強制轉型,避免整數除法造成小數被截斷

double systolicAvg = (double) systolicSum / systolicArray.length;
        double diastolicAvg = (double) diastolicSum / diastolicArray.length;
        double pulseAvg = (double) pulseSum / pulseArray.length;

4.上述程式碼前面一樣是寫前幾天的主要程式碼

public class Main {
    static int[] systolicArray = new int[3];
    static int[] diastolicArray = new int[3];
    static int[] pulseArray = new int[3];
    static String[] statusArray = new String[3];

    public static void recordTodayData(int dayIndex) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("=== 第 " + (dayIndex + 1) + " 天輸入 ===");
        System.out.print("請輸入收縮壓: ");
        systolicArray[dayIndex] = scanner.nextInt();

        System.out.print("請輸入舒張壓: ");
        diastolicArray[dayIndex] = scanner.nextInt();

        System.out.print("請輸入脈搏: ");
        pulseArray[dayIndex] = scanner.nextInt();

5.最後印出得到的平均

public static void main(String[] args) {
        for (int i = 0; i < systolicArray.length; i++) {
            recordTodayData(i);
        }

        printAllData();
        printAverage(); // 新增:印出平均值
    }

執行結果:

=== 第 1 天輸入 ===
請輸入收縮壓: 100
請輸入舒張壓: 58
請輸入脈搏: 122
今日狀態:偏低

=== 第 2 天輸入 ===
請輸入收縮壓: 108
請輸入舒張壓: 68
請輸入脈搏: 110
今日狀態:正常

=== 第 3 天輸入 ===
請輸入收縮壓: 96
請輸入舒張壓: 53
請輸入脈搏: 107
今日狀態:偏低

=== 目前所有紀錄 ===
第 1 天:100/58 mmHg, 脈搏:122 → 狀態:偏低
第 2 天:108/68 mmHg, 脈搏:110 → 狀態:正常
第 3 天:96/53 mmHg, 脈搏:107 → 狀態:偏低

=== 平均值 ===
平均收縮壓:101.33333333333333
平均舒張壓:59.666666666666664
平均脈搏:113.0

上一篇
用for迴圈自動輸入多天數據
系列文
30 天完成:血壓健康追蹤系統9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言