http://puu.sh/8ekfm.png Zonko的政府(Zumbania王国)决定禁止在其他数字上直接添加大于1的数字。 Zonko决定创建他自己的加法(正整数)以规避禁令。你能帮忙完成他的代码吗?
要获得a和b的总和,Zonko首先将变量sum设置为等于a。然后他重复加1到sum,直到达到+ b。在循环的每次迭代中添加1,直到它被添加了正确的次数。循环中的正确条件是什么,以便在正确的时间停止?
public int add(int a, int b){
int sum = a;
for(int i=1; LOOP-CONDITION; i=i+1){
sum = sum + 1; //this will add 1 to sum every iteration
}
return sum;
}
有人可以解释一下并告诉我他们是如何得到答案的吗?
答案 0 :(得分:1)
用于执行操作一定次数的循环的Java惯用语是:
for(int i=1; i <= [numTimes]; i=i+1){
和
for(int i=0; i < [numTimes]; i=i+1){
前者具有正确的起始条件,因此您的循环条件为:i <= b
。
答案 1 :(得分:1)
诀窍在于:
Zonko政府(Zumbania王国)决定直接禁止 将大于1的数字添加到其他数字。
这意味着当a
大于1时,b
无法直接添加到b
。
假设您要添加a = 5
和b = 3
。您可以通过将1
添加到5
三次来获得答案。
a = 5;
loop(b times){
a = a + 1;
}
这是循环的方式:
a = 5;
loop starts
a = 5 + 1;
a = 6 + 1; // we made it 6 in previous step
a = 7 + 1;
loop ends