Java中如何理解检查整数与浮点数除法结果一致性的需求?
问题解析与代码完善
核心疑问解答
“程序应检查整数除法与浮点数除法的结果是否相同”的意思是:
- 先计算两个整数直接相除的结果(Java中整数除法会自动截断小数部分,只保留整数商)
- 再把这两个整数转为浮点数后做除法运算
- 对比这两个结果是否完全一致
只有当被除数能被除数完全整除时,两者结果才会相同,比如4/2=2和4.0/2.0=2.0;如果不能整除,比如5/2=2和5.0/2.0=2.5,结果就会不同。
完善后的代码
import java.util.Scanner; class StartUp2{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("请输入被除数:"); int a = sc.nextInt(); System.out.println("请输入除数:"); int c = sc.nextInt(); // 整数除法结果 int intDivision = a / c; // 浮点数除法结果 float floatDivision = (float)a / c; // 检查两个结果是否相同 boolean isSame = intDivision == floatDivision; System.out.println("整数除法结果:" + intDivision); System.out.println("浮点数除法结果:" + floatDivision); System.out.println("两者结果是否相同:" + isSame); sc.close(); } }
代码说明
- 用
(float)a / c直接将被除数转为浮点数,触发浮点数除法规则,无需额外转存变量 - 直接对比整数结果与浮点数结果的数值是否相等
- 输出两个计算结果及最终判断结论
内容的提问来源于stack exchange,提问作者akinsavascii
相关产品推荐
相关产品推荐

