以下是按照你要求的逻辑实现的 Java 代码: ```java // 假设 cupLyoStuWeighingLiquidLog 是包含 stuMaximumWeight 和 stuMinimumWeight 属性的对象 // modifiedString 是当前输入的重量字符串,stuAnswersNum 是当前输入的重量数值 if (cupLyoStuWeighingLiquidLog.getStuMaximumWeight() == null) { // 第一次输入,只设置最大值 cupLyoStuWeighingLiquidLog.setStuMaximumWeight(modifiedString); } else { // 获取当前记录的最大重量并转换为 double 类型 double stuMaximumWeightNum = Double.parseDouble(cupLyoStuWeighingLiquidLog.getStuMaximumWeight()); double stuMinimumWeightNum; if (cupLyoStuWeighingLiquidLog.getStuMinimumWeight() != null) { // 若已有最小重量,将其转换为 double 类型 stuMinimumWeightNum = Double.parseDouble(cupLyoStuWeighingLiquidLog.getStuMinimumWeight()); } else { // 若最小重量为空,将其初始化为当前最大值 stuMinimumWeightNum = stuMaximumWeightNum; } // 如果当前输入值大于最大重量 if (stuAnswersNum > stuMaximumWeightNum) { // 更新最大重量 cupLyoStuWeighingLiquidLog.setStuMaximumWeight(modifiedString); } // 如果当前输入值小于最小重量 else if (stuAnswersNum < stuMinimumWeightNum) { // 更新最小重量 cupLyoStuWeighingLiquidLog.setStuMinimumWeight(modifiedString); } } ``` 代码解释 1. 第一次输入:当 `cupLyoStuWeighingLiquidLog` 的 `stuMaximumWeight` 为 `null` 时,说明是第一次输入,此时只将输入的值设置为最大重量,最小重量保持为空。 2. 非第一次输入: - 先获取当前记录的最大重量并转换为 `double` 类型。 - 检查最小重量是否为空,如果为空则将其初始化为当前最大值。 - 如果当前输入值大于最大重量,更新最大重量。 - 如果当前输入值小于最小重量,更新最小重量。 额外需要注意的逻辑点 1. 异常处理:使用 `Double.parseDouble()` 方法时,要确保输入的字符串是有效的数字格式,否则会抛出 `NumberFormatException` 异常,建议添加异常处理代码。 2. 输入值一致性:要保证 `modifiedString` 和 `stuAnswersNum` 是一致的,`stuAnswersNum` 应该是 `modifiedString` 转换后的 `double` 类型值。 3. 对象空值检查:代码假设 `cupLyoStuWeighingLiquidLog` 不为 `null`,如果该对象可能为 `null`,需要在代码开始处添加空值检查,避免出现 `NullPointerException` 异常。 [2025-07-30 17:03:19 | AI写代码神器 | 688点数解答]