为什么我的程序 return 什么都没有?
Why does my program return nothing?
我刚开始学习 java,出于某种原因,我的程序 returns 在编译时什么也没有。
目标:
编写一个名为 printPowersOf2 的方法,它接受一个最大数作为参数,并打印从 20 (1) 到最大幂(含)的每个 2 的幂。例如,考虑以下调用:
printPowersOf2(3);
printPowersOf2(10);
这些调用应产生以下输出:
1 2 4 8
1 2 4 8 16 32 64 128 256 512 1024
问题也可以从here
找到
我的代码:
public class Test{
public static void main(String[] Args){
printPowersOf2(3);
printPowersOf2(10);
}
public static int printPowersOf2(int num){
double b = Math.pow(2,num);
int a = (int)b;
return a;
}
}
它确实 returns 值,但这不是您想要的。你要打印啦!您应该使用以下循环打印值:
System.out.printf("%d ", a);
而不是return a
;完整功能:
public static void printPowersOf2(int num) {
for (int i = 0; i < num; i++) {
System.out.print("%d ", Math.pow(2, i));
}
System.out.println(); // for the line break
}
不需要 double
,因为这些数字是完全平方数。
我认为你的代码应该是:
public class Test{
public static void main(String[] Args){
printPowersOf2(3);
printPowersOf2(10);
}
public static void printPowersOf2(int num){
for(int i = 0; i <= num; ++i)
{
double b = Math.pow(2,num);
System.out.print(b + " ");
}
}
}
您不必return任何事情。您只需在函数内部打印。
我刚开始学习 java,出于某种原因,我的程序 returns 在编译时什么也没有。
目标: 编写一个名为 printPowersOf2 的方法,它接受一个最大数作为参数,并打印从 20 (1) 到最大幂(含)的每个 2 的幂。例如,考虑以下调用:
printPowersOf2(3);
printPowersOf2(10);
这些调用应产生以下输出:
1 2 4 8 1 2 4 8 16 32 64 128 256 512 1024
问题也可以从here
找到我的代码:
public class Test{
public static void main(String[] Args){
printPowersOf2(3);
printPowersOf2(10);
}
public static int printPowersOf2(int num){
double b = Math.pow(2,num);
int a = (int)b;
return a;
}
}
它确实 returns 值,但这不是您想要的。你要打印啦!您应该使用以下循环打印值:
System.out.printf("%d ", a);
而不是return a
;完整功能:
public static void printPowersOf2(int num) {
for (int i = 0; i < num; i++) {
System.out.print("%d ", Math.pow(2, i));
}
System.out.println(); // for the line break
}
不需要 double
,因为这些数字是完全平方数。
我认为你的代码应该是:
public class Test{
public static void main(String[] Args){
printPowersOf2(3);
printPowersOf2(10);
}
public static void printPowersOf2(int num){
for(int i = 0; i <= num; ++i)
{
double b = Math.pow(2,num);
System.out.print(b + " ");
}
}
}
您不必return任何事情。您只需在函数内部打印。