使用getText()提取工具提示文本后,如何比较温度字符串值?
正确实现温度比较的步骤
首先你需要先从多行的工具提示文本里提取出有效的温度数值,再转换成数字类型后进行比较,具体步骤如下:
1. 提取并清洗温度数值
getText()返回的是包含三行的字符串,你可以先按换行符分割字符串,取出最后一行的温度内容,再去掉末尾的"c"字符,将其转换为整数:
// 获取完整的工具提示文本 String fullTooltip = tooltiptext.getText(); // 按换行分割成数组,取最后一行(温度行) String tempStr = fullTooltip.split("\\n")[2].trim(); // 去掉末尾的"c",转换为整数 int temperature = Integer.parseInt(tempStr.replace("c", ""));
2. 进行数值比较
现在你可以用转换后的整数和30进行数值比较,输出对应的提示:
if (temperature < 30) { System.out.println("temperature is too low outside"); } else { System.out.println("temperature is hot outside"); }
原代码的问题说明
- 语法错误:
30c不是合法的Java字面量,比较时应该用数字30 - 字符串不能直接用
>比较:字符串的比较是按字典序,不是数值大小,必须转成数字后再进行数值比较 - 未处理多行文本:原代码直接用整个工具提示文本去比较,没有提取出真正的温度数值
内容的提问来源于stack exchange,提问作者Jackie M
相关产品推荐
相关产品推荐

