如何在Java中用循环实现华氏度批量转摄氏度 运行输出重复值问题求解
问题原因
你代码的核心问题是计算摄氏度时没有使用循环遍历得到的华氏度值,始终代入了固定为0的farenheit变量计算,因此每次输出结果都相同。
需调整的两处问题
- 变量误用:循环变量
i存储了30~90的华氏度值,但计算逻辑里没有用到i,反而一直用初始值为0的farenheit做计算 - 区间边界问题:原循环条件
i < 100无法覆盖到100的华氏度值,需要调整为i <= 100
修正后代码
public static void farenheitToCelcius() { // 直接用farenheit作为循环变量,每次步长+10遍历目标区间 for(double farenheit = 30; farenheit <= 100; farenheit += 10) { double celcius = ((farenheit - 32) * 5) / 9; // 格式化输出更清晰,也可以保留原有的println逻辑 System.out.printf("华氏度%.0f = 摄氏度%.2f%n", farenheit, celcius); } }
运行输出示例
华氏度30 = 摄氏度-1.11 华氏度40 = 摄氏度4.44 华氏度50 = 摄氏度10.00 华氏度60 = 摄氏度15.56 华氏度70 = 摄氏度21.11 华氏度80 = 摄氏度26.67 华氏度90 = 摄氏度32.22 华氏度100 = 摄氏度37.78
内容的提问来源于stack exchange,提问作者captain_america997
相关产品推荐
相关产品推荐

