>该方法 printPowersOf2 接受一个最大数字作为参数,并将 2 的每个幂从 2^0 打印到该最大数字。
printPowersOf2(3); 输出 1 2 4 8打印幂2(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("");
}
}
在循环集 i = 2 之前。循环体应该是(伪代码):
i *= 2
打印 i
您可以存储当前功率的值,并在周期的每次迭代中将其乘以 2。
int pow = 1;
for(int i = 1; i <= maxNum; i++){
pow = pow * 2;
System.out.print(pow + " ");
}
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;
}
}