智能医学工程-计算机程序设计-2025版-实验04:流程控制

265 阅读4分钟

一、实验目的

  1. 掌握变量的声明、赋值及命名规范,理解变量的作用。
  2. 熟悉 Java 标识符的命名规则和关键字的使用。
  3. 掌握各种运算符的使用,包括算术运算符、赋值运算符、关系运算符和逻辑运算符。
  4. 理解选择结构(ifif-elseswitch)的使用场景及实现方法。
  5. 掌握循环结构(whiledo-whilefor、增强 for 循环)的使用,以及 breakcontinue 语句的作用。

二、实验学时

2学时

三、实验类型

验证性

四、实验需求

1、硬件

每人配备计算机1台,建议优先使用个人计算机开展实验。

2、软件

Windows 10/11操作系统

IntelliJ IDEA 版本号:2024.03

安装IntelliJ IDEA,以及Java运行所需要的相关基础环境。

3、网络

本地主机能够访问互联网和实验中心网络。

4、工具

无。

五、实验任务

5.1 变量与运算符:实现患者基本信息的存储和计算。

5.2 选择结构:根据患者的体温判断是否需要隔离。

5.3 循环结构:使用 while 循环模拟患者排队挂号。

5.4 增强 for 循环:遍历患者列表并输出信息。

5.5 综合任务:结合选择结构和循环结构,实现一个简单的患者分诊系统。

六、实验内容及步骤

6.1、 任务1:变量与运算符

步骤:

  1. 声明并初始化患者的姓名、年龄、体温等变量。
  2. 使用算术运算符计算患者的平均体温,运行结果如图1所示。

示例代码:

public class PatientInfo {
    public static void main(String[] args) {
        // 患者基本信息
        String patientName = "张三";
        int patientAge = 35;
        double temperature1 = 36.5;
        double temperature2 = 37.2;
        double temperature3 = 36.8;

        // 计算平均体温
        double averageTemperature = (temperature1 + temperature2 + temperature3) / 3;

        // 输出患者信息
        System.out.println("患者姓名: " + patientName);
        System.out.println("患者年龄: " + patientAge + "岁");
        System.out.println("平均体温: " + averageTemperature + "°C");

        //保留两位小数的例子
        //一
        double number = 3.1415926;

        DecimalFormat df = new DecimalFormat("#.00");
        String formattedNumber = df.format(number);
        double result = Double.parseDouble(formattedNumber);

        System.out.println(result); // 输出: 3.14

        //二
        double number2 = 3.1415926;

        String formattedNumber2 = String.format("%.2f", number2);
        double result2 = Double.parseDouble(formattedNumber2);

        System.out.println(result2); // 输出: 3.14

        //三
        double number3 = 3.1415926;

        double result3 = Math.round(number3 * 100.0) / 100.0;

        System.out.println(result3); // 输出: 3.14

        //四
        double number4 = 3.1415926;

        BigDecimal bd = new BigDecimal(number4);
        bd = bd.setScale(2, RoundingMode.HALF_UP);
        double result4 = bd.doubleValue();

        System.out.println(result4); // 输出: 3.14
    }
}

6.2、任务 2:选择结构

步骤:

  1. 根据患者的体温判断是否需要隔离(体温 ≥ 37.3°C 需要隔离),运行结果如图2所示。

示例代码:

import java.util.Scanner;

public class TemperatureCheck {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入患者体温
        System.out.print("请输入患者体温: ");
        double temperature = scanner.nextDouble();

        // 判断是否需要隔离
        if (temperature >= 37.3) {
            System.out.println("体温异常,需要隔离!");
        } else {
            System.out.println("体温正常,无需隔离。");
        }
    }
}

6.3、任务 3:循环结构

步骤:

  1. 使用 while 循环模拟患者排队挂号,直到挂满 10 个号为止,运行结果如图3所示。

示例代码:

public class PatientQueue {
    public static void main(String[] args) {
        int queueNumber = 1;
        int maxQueue = 10;

        // 模拟患者排队挂号
        while (queueNumber <= maxQueue) {
            System.out.println("当前挂号患者编号: " + queueNumber);
            queueNumber++;
        }
        System.out.println("今日挂号已满,请明日再来。");
    }
}

6.4、任务 4:增强 for 循环

步骤:

  1. 使用增强 for 循环遍历患者列表并输出信息。

示例代码:

public class PatientList {
    public static void main(String[] args) {
        // 患者姓名列表
        String[] patients = {"王会青", "李振东", "王风学", "周辰承"};

        // 遍历并输出患者信息
        System.out.println("今日就诊患者列表:");
        for (String patient : patients) {
            System.out.println("患者: " + patient);
        }
    }
}

6.5、任务 5:综合任务 - 患者分诊系统

步骤:

  1. 根据患者的症状(发热、咳嗽、头痛)进行分诊。
  2. 使用switch 结构分配科室(发热 → 发热门诊,咳嗽 → 呼吸科,头痛 → 神经科)。

示例代码:

import java.util.Scanner;

public class PatientTriage {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入患者症状
        System.out.println("请输入患者症状(发热、咳嗽、头痛): ");
        String symptom = scanner.next();

        // 根据症状分诊
        switch (symptom) {
            case "发热":
                System.out.println("请前往发热门诊就诊。");
                break;
            case "咳嗽":
                System.out.println("请前往呼吸科就诊。");
                break;
            case "头痛":
                System.out.println("请前往神经科就诊。");
                break;
            default:
                System.out.println("症状不明,请前往急诊科就诊。");
        }
    }
}

七、实验考核

本实验考核采用【实验随堂查】方式开展。

每个实验完成后,在实验课上通过现场演示的方式向实验指导教师进行汇报,并完成现场问答交流。

每个实验考核满分100分,其中实验成果汇报60分,现场提问交流40分。

实验考核流程:

(1)学生演示汇报实验内容的完成情况,实验指导老师现场打分。

(2)指导老师结合实验内容进行提问,每位学生提问2-3个问题,根据回答的情况现场打分。

(3)实验考核结束后,进行公布成绩。