方法printPowersOf2接受最大数字作为参数,并将2 ^ 0的每个幂打印到该最大数。
printPowersOf2(3);输出1 2 4 8 printPowersOf2(5);输出1 2 4 8 16 32
我似乎无法弄清楚要打印的正确代码。我必须使用循环和* =运算符。不允许数学课。我知道它的东西也很简单
这是我的代码
public class Chap3LabP2 {
public static void main(String[] args) {
printPowersof2(3);
printPowersof2(5);
printPowersof2(10);
printPowersof2(12);
}
public static void printPowersof2(int maxNum){
System.out.print("1" + " ");
for(int i = 1; i <= maxNum; i++){
System.out.print(i*2 + " ");
}
System.out.println("");
}
}
答案 0 :(得分:3)
在循环设置之前i = 2.循环体应该是(伪代码):
i * = 2
打印我
答案 1 :(得分:1)
您可以存储当前功率的值,并在周期的每次迭代中将其乘以2.
int pow = 1;
for(int i = 1; i <= maxNum; i++){
pow = pow * 2;
System.out.print(pow + " ");
}
答案 2 :(得分:1)
public static void printPowersof2(int maxNum) {
int power = 0;
int answer = 1;
while (true) {
if (power <= maxNum) {
System.out.println(answer);
} else {
return;
}
answer *= 2;
}
}