答案是什么:6÷2(1 + 2)=?

时间:2011-04-30 19:01:50

标签: java math

我有这个争论,6÷2(1 + 2)的答案是9还是1。

public class bodmas
{
public static void main(String [] args)
{
    float i = 6/2*(1+2);
    System.out.println(i);
}

}

Java返回9 ,但那是因为我无法删除*符号。如果我将它放入我的卡西欧fx-82MS计算器中,如果我插入 6/2 *(1 + 2),则返回9,如果我插入 6/2(1 + 2)<1则返回1 /强>

这让我担心Java开发人员,因为如果答案真的不同,我们就会遇到问题。我已经在不同版本的计算器上尝试了它,答案给出了9,但是我的它给出了1.所以可能没有什么可担心的。

作为结论,问题含糊不清,在编程术语中它会返回9.如果必须返回1,则更明确的问题是6 /(2 *(1 + 2) )。

4 个答案:

答案 0 :(得分:9)

根据Order of Operations,答案应为9。

答案 1 :(得分:4)

这取决于您如何定义表示。在Java中(事实上,在大多数语言中):

6 / 2 * (1+2)

相当于

(6 / 2) * (1+2)

是9。

您的计算器将其解释为:

6 / (2 * (1+2))

确实是1。

答案 2 :(得分:0)

第 9 个答案不仅是错误的,而且是超级错误的。 在数学中,结合和交换属性是应用于加法和乘法的规律,这些规律始终存在...... 意义: 6÷2(2+1) 必须等于 6÷(2+1)2..... 如果我们考虑回答 9 的人使用的约定: 6÷2(2+1) = 9 6÷(2+1)2 = 4 这是错误的,因为乘法是可交换的,约定不应该破坏...... 如果我们考虑回答 1 的人使用的约定: 6÷2(2+1) = 1 6÷(2+1)2 = 1 这是一致且正确的......这就是为什么答案是 1.. 它不是关于约定的,而是关于基本抽象代数的……您对表达式的解释是错误的,因为您没有保留代数定律。 所以 9 不仅是错误的,而且是超级错误的。

答案 3 :(得分:-1)

伙计们。 问问自己:什么是 a÷a =?这是一个。 现在想一下Itentity Law:a = 1a = 1(a) 现在问什么是 a÷1a =?显然1 !! a÷1a!= a÷1 * a 什么是÷2a?答案:1/2 什么是6÷2a?答案:3 / a 在上述所有情况下,a = 1 + 2。 停止转换2a = 2 * a之类的东西。它是2a =(2 * a)