Java 为什么我的for循环反复打印相同的数字?
编写一个名为printPowersOfN的方法,该方法接受一个基数和一个指数作为参数,并打印从base0(1)到该最大幂(包括)的基数的每一次幂。例如,考虑以下调用:Java 为什么我的for循环反复打印相同的数字?,java,Java,编写一个名为printPowersOfN的方法,该方法接受一个基数和一个指数作为参数,并打印从base0(1)到该最大幂(包括)的基数的每一次幂。例如,考虑以下调用: printPowersOfN(4, 3); printPowersOfN(5, 6); printPowersOfN(-2, 8); 这些调用应产生以下输出: 1 4 16 64 15251256253125 15625 1-2 4-8 16-32 64-128 256 public class prac { pu
printPowersOfN(4, 3);
printPowersOfN(5, 6);
printPowersOfN(-2, 8);
这些调用应产生以下输出:
1 4 16 64
15251256253125 15625
1-2 4-8 16-32 64-128 256
public class prac {
public static void main(String[]args) {
printPowersOfN(4,3);
printPowersOfN(5,6);
printPowersOfN(-2,8);
}
public static void printPowersOfN(int num1, int num2) {
int k =(int) Math.pow(num1, num2);
for (int i=1; i<=num2;i++) {
System.out.print( k + " ");
}
System.out.println();
}
}
公共类prac{
公共静态void main(字符串[]args){
printPowersOfN(4,3);
printPowersOfN(5,6);
printPowersOfN(-2,8);
}
公共静态无效打印功率OFN(整数num1,整数num2){
int k=(int)Math.pow(num1,num2);
对于(inti=1;i在你计算循环外的幂k
,然后反复打印。在每次循环迭代中改变的值i
根本不被使用。在你计算循环外的幂k
然后反复打印。在循环过程中改变的值i
对于每个循环,根本不使用迭代
为什么这只是反复打印最大功率而不是最大功率
在指数之前的所有幂中
因为您正在k
中存储最大功率:
int k =(int) Math.pow(num1, num2);
在循环中一次又一次地打印k
System.out.print( k + " ");
您还应该更改k的值。例如,以下内容适用于您:
int k;
for (int i=0; i<=num2;i++) {
k =(int) Math.pow(num1, i);
System.out.print( k + " ");
}
intk;
对于(int i=0;i
为什么这只是反复打印最大功率而不是最大功率
在指数之前的所有幂中
因为您正在k
中存储最大功率:
int k =(int) Math.pow(num1, num2);
在循环中一次又一次地打印k
System.out.print( k + " ");
您还应该更改k的值。例如,以下内容适用于您:
int k;
for (int i=0; i<=num2;i++) {
k =(int) Math.pow(num1, i);
System.out.print( k + " ");
}
intk;
对于(int i=0;i这将起作用,请立即尝试
public static void main(String[]args) {
printPowersOfN(4,3);
printPowersOfN(5,6);
printPowersOfN(-2,8);
}
public static void printPowersOfN(int num1, int num2) {
int k = 0;
for (int i=0; i<=num2;i++) {
k =(int) Math.pow(num1, i);
System.out.print( k + " ");
}
System.out.println();
}
publicstaticvoidmain(字符串[]args){
printPowersOfN(4,3);
printPowersOfN(5,6);
printPowersOfN(-2,8);
}
公共静态无效打印功率OFN(整数num1,整数num2){
int k=0;
对于(int i=0;i这将起作用,请立即尝试
public static void main(String[]args) {
printPowersOfN(4,3);
printPowersOfN(5,6);
printPowersOfN(-2,8);
}
public static void printPowersOfN(int num1, int num2) {
int k = 0;
for (int i=0; i<=num2;i++) {
k =(int) Math.pow(num1, i);
System.out.print( k + " ");
}
System.out.println();
}
publicstaticvoidmain(字符串[]args){
printPowersOfN(4,3);
printPowersOfN(5,6);
printPowersOfN(-2,8);
}
公共静态无效打印功率OFN(整数num1,整数num2){
int k=0;
对于(int i=0;我为什么每次在循环中声明k
呢?为什么每次在循环中声明k
呢?您的代码不会按照John发布的要求为0幂工作。我认为您需要更正您的答案。您的代码不会按照John发布的要求为0幂工作。我认为您需要更正您的答案。