如何通过添加java来模拟乘法

时间:2014-09-24 03:44:36

标签: java simulate

我需要通过不使用乘法运算符来模拟乘法,例如星号这是我的代码试用代码,但似乎无效:(

while (sum < a + b) { 
sum += a; 
} 

System.out.println (a+" x "+b+" is "+sum); 
} 
}

1 个答案:

答案 0 :(得分:0)

您拥有的代码:

sum = 0;
while (sum < a + b) { 
    sum += a; 
}

只会将a添加到总和中,直到总和变为a + b。在这种情况下,您需要在a * b循环中使用while,但如上所述,您不会被允许。


由于乘法只是重复添加,因此您可以使用以下(伪)代码执行此操作:

a = 5; b = 4

product = 0
acopy = a
while acopy > 0:
    product = product + b
    acopy = acopy - 1

这是基本的想法,虽然它对负数有一个相当讨厌的错误。

如果你想要处理这个问题,你还需要:

product = 0
acopy = a
while acopy < 0:
    product = product - b
    acopy = acopy + 1
while acopy > 0:
    product = product + b
    acopy = acopy - 1

这些while循环中只有一个会运行,具体取决于a是否为正数(如果它为零,则不会运行)。< / p>