java 编程中的除法
division in java programming
同一个公式给出了 2296 和 1500 的不同答案,而这两种情况的预期答案都是 100。请解释这种行为。我对这个简单的事情感到非常惊讶。最初我认为这一定是由于运算符优先级,但我无法理解。
用 2296 编程:
public class testpercent {
public static void main(String args[]) {
System.out.println("first formula ===>"+(2296 * 100 )/2296);
System.out.println("alternate formula =====>" + (2296/(2296/100)));
}
}
输出:
first formula ===>100
alternate formula =====>104
与 1500 相同的程序:
public class testpercent {
public static void main(String args[]) {
System.out.println("first formula for ===>"+(1500 * 100 )/1500);
System.out.println("alternate formula for =====>" + (1500/(1500/100)));
}
}
输出:
first formula ===>100
alternate formula =====>100
2296 的程序首先执行 (2296/100) 给出 22.96 并删除 96 的余数。然后 2296/22 给出 104。
1500 的程序执行相同但没有余数并以“正确”答案结束。
如果您想使用替代公式获得正确的输出,请尝试使用 double 或 float 等数据类型。
同一个公式给出了 2296 和 1500 的不同答案,而这两种情况的预期答案都是 100。请解释这种行为。我对这个简单的事情感到非常惊讶。最初我认为这一定是由于运算符优先级,但我无法理解。
用 2296 编程:
public class testpercent {
public static void main(String args[]) {
System.out.println("first formula ===>"+(2296 * 100 )/2296);
System.out.println("alternate formula =====>" + (2296/(2296/100)));
}
}
输出:
first formula ===>100
alternate formula =====>104
与 1500 相同的程序:
public class testpercent {
public static void main(String args[]) {
System.out.println("first formula for ===>"+(1500 * 100 )/1500);
System.out.println("alternate formula for =====>" + (1500/(1500/100)));
}
}
输出:
first formula ===>100
alternate formula =====>100
2296 的程序首先执行 (2296/100) 给出 22.96 并删除 96 的余数。然后 2296/22 给出 104。
1500 的程序执行相同但没有余数并以“正确”答案结束。
如果您想使用替代公式获得正确的输出,请尝试使用 double 或 float 等数据类型。