Java 代码修正:解决重量输入逻辑问题及额外注意要点
问题出在第二次输入逻辑中的 `cupLyoStuWeighingLiquidLog.setStuMaximumWeight(cupLyoStuWeighingLiquidLog.getStuMinimumWeight());` 这一行代码,当输入的值小于当前最小值时,不应该将当前最小值赋给最大值,而是应该保持最大值不变。以下是修正后的代码: ```java // 判断最大重量和最小重量是否都为 null if (cupLyoStuWeighingLiquidLog.getStuMaximumWeight() == null && cupLyoStuWeighingLiquidLog.getStuMinimumWeight() == null) { // 第一次输入,设置最大值 cupLyoStuWeighingLiquidLog.setStuMaximumWeight(modifiedString); } else { // 将最大重量转换为 double 类型 double stuMaximumWeightNum = Double.parseDouble(cupLyoStuWeighingLiquidLog.getStuMaximumWeight()); // 将最小重量转换为 double 类型,如果最小重量为 null 则设为 Double.MAX_VALUE double stuMinimumWeightNum = (cupLyoStuWeighingLiquidLog.getStuMinimumWeight() != null) ? Double.parseDouble(cupLyoStuWeighingLiquidLog.getStuMinimumWeight()) : Double.MAX_VALUE; // 如果输入值大于当前最大值 if (stuAnswersNum > stuMaximumWeightNum) { // 当前最大值变为最小值 cupLyoStuWeighingLiquidLog.setStuMinimumWeight(cupLyoStuWeighingLiquidLog.getStuMaximumWeight()); // 新输入值变为最大值 cupLyoStuWeighingLiquidLog.setStuMaximumWeight(modifiedString); } // 如果输入值小于当前最小值 else if (stuAnswersNum < stuMinimumWeightNum) { // 新输入值变为最小值 cupLyoStuWeighingLiquidLog.setStuMinimumWeight(modifiedString); } // 输入值介于最大值和最小值之间,保持不变 } ``` 额外需要注意的逻辑点 1. 在将字符串转换为 `double` 类型时,要确保字符串是有效的数字格式,否则会抛出 `NumberFormatException` 异常,可以添加异常处理代码来增强程序的健壮性。 2. 要注意 `Double.MAX_VALUE` 的使用,当最小重量初始为 `null` 时,使用 `Double.MAX_VALUE` 作为初始值,在后续逻辑中要确保这个初始值不会影响正常的比较逻辑。 3. 代码中 `modifiedString` 和 `stuAnswersNum` 要确保其来源和类型是正确的,`modifiedString` 应该是可以转换为 `double` 类型的字符串,`stuAnswersNum` 应该是正确的输入值。 ######[AI写代码神器 | 621点数解答 | 2025-07-30 16:59:32]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)420
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)322
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1195
- C3期末:精准求解 3 - 20 范围内数列第 k 项值及注意要点(字节豆包 | 242点数解答 | 2025-06-15 11:26:19)146
- C++求解:查找3 - 20项数列第k项值及注意要点(字节豆包 | 325点数解答 | 2025-06-15 11:27:11)168
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)206
- C++贪心算法:求解星空下可飞走萤火虫的最大数量(字节豆包 | 255点数解答 | 2025-05-24 16:49:47)214
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)332
- C++ 编程:根据规则精准计算包裹邮寄费用,附代码详解(DeepSeek | 506点数解答 | 2025-02-28 11:06:32)441
- Java实现Student类:含构造、方法及年龄判定(字节豆包 | 464点数解答 | 2024-11-19 15:55:26)394
- Python 实现多功能手机通讯录:添加、查看、删除、修改、查找全搞定!(字节豆包 | 1030点数解答 | 2025-06-05 15:47:56)257
- C++实现邮局包裹费用计算:避开边界、输入及逻辑陷阱!(字节豆包 | 355点数解答 | 2025-11-23 11:41:12)49