为了账号安全,请及时绑定邮箱和手机立即绑定

使用while循环格式和逻辑错误的功率表

使用while循环格式和逻辑错误的功率表

慕森卡 2022-10-20 17:14:49
我正在尝试制作一个从 1 到 5 的表格,其中显示最多 6 个值。因此,例如,第 2 列将从 1、2、4、8、16、32、64 开始并停在那里。我无法获得正确的表格格式。由于数字与它们应该在的位置不一致。例如:我现在面临的问题是1 2 3 4 51 1 1 1 1 1 1 2 4 8 16 等等等等任何好将不胜感激,我的代码在下面。 int powNumb=5; int powValue=6;for (int i = 1; i <= powValue; i++) {            System.out.printf("%10d",i);        }        System.out.println();        for (int i = 1; i <= powNumb; i++) {            for (int j = 0; j <=powValue; j++) {                System.out.printf("%10.0f",Math.pow(i, j));            }        }
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

这应该可以帮助你


for (int i = 1; i <= powNumb; i++) {

    System.out.printf("%10d", i); //Print the number (1st col)

    for (int j = 0; j <= powValue; j++) { //This loop prints the powers of the curent number 'i'

        System.out.printf("%10.0f", Math.pow(i, j));

    }

    System.out.println(); //To end the current row

}

这打印


num   num^0  num^1  num^2 ... num^powValue

其中 num 是从 1 到powNumb


输出


 1         1         1         1         1         1         1         1

 2         1         2         4         8        16        32        64

 3         1         3         9        27        81       243       729

 4         1         4        16        64       256      1024      4096

 5         1         5        25       125       625      3125     15625


查看完整回答
反对 回复 2022-10-20
?
偶然的你

TA贡献1841条经验 获得超3个赞

首先,您需要println在内部 for 循环中的某处声明来分隔行。


其次,您需要将呼叫中的iand切换为. 因为按照当前的设置方式,每一行的值都是0 到 6 的幂。例如,第一行是. 然后,第二行将是 但是,您希望第一行是, second row等。所以您的代码应该更改为这样的内容,jMath.powi = row number1^0 1^1 1^2 1^3 1^4 1^5 1^62^0 2^1 2^2 2^3 2^4 2^5 2^61^0 2^0 3^0 4^0 5^01^1 2^1 3^1 4^1 5^1


int powNumb=5;

int powValue=6;


for (int i = 1; i <= powNumb; i++) {

    System.out.printf("%10d",i);

}

for (int i = 0; i <= powValue; i++) {

    System.out.println();

    for (int j = 1; j <=powNumb; j++) {

        System.out.printf("%10.0f",Math.pow(j, i));

    }

}

输出:


 1         2         3         4         5

 1         1         1         1         1

 1         2         3         4         5

 1         4         9        16        25

 1         8        27        64       125

 1        16        81       256       625

 1        32       243      1024      3125

 1        64       729      4096     15625

powNumb另外,我必须powValue在 for 循环条件下进行切换。


查看完整回答
反对 回复 2022-10-20
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

您的意思是每个元素的基数相同,因此不需要内部循环:


for (int i = 1; i <= powNumb; i++) {

    System.out.printf("%10.0f", Math.pow(powValue, i));

}

这种方式的权力基础永远是powValue。


查看完整回答
反对 回复 2022-10-20
  • 3 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信