一、实验目的
- 掌握变量的声明、赋值及命名规范,理解变量的作用。
- 熟悉 Java 标识符的命名规则和关键字的使用。
- 掌握各种运算符的使用,包括算术运算符、赋值运算符、关系运算符和逻辑运算符。
- 理解选择结构(
if
、if-else
、switch
)的使用场景及实现方法。 - 掌握循环结构(
while
、do-while
、for
、增强for
循环)的使用,以及break
和continue
语句的作用。
二、实验学时
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所示。
示例代码:
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:选择结构
步骤:
- 根据患者的体温判断是否需要隔离(体温 ≥ 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:循环结构
步骤:
- 使用
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 循环
步骤:
- 使用增强
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:综合任务 - 患者分诊系统
步骤:
- 根据患者的症状(发热、咳嗽、头痛)进行分诊。
- 使用
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)实验考核结束后,进行公布成绩。