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

如何重新编码这个嵌套的 for 循环计数框?

如何重新编码这个嵌套的 for 循环计数框?

慕标5832272 2023-12-13 14:29:42
这项作业的目标是创建一个嵌套的 for 循环来打印:0 1 2 3 1 2 3 42 3 4 53 4 5 6虽然我自己在 java 上尝试过代码,但我被告知存在问题。我决定使用第三个变量 x,它允许代码正常运行,但我也被告知在没有它的情况下重做代码。尽管我可能会尝试思考这将如何运作,但不幸的是我被困住了public class inputOutputExample{    public static void main(String[] args) {        int x = 0;         for (int i = 1; i<=4; i++) {            for (int j=1; j<=4; j++) {                System.out.print(x+ " ");                x++;            }            x = x-3;            System.out.println();        }    }}有人可以帮助仅使用 i 和 j 重做代码吗?我会很感激。谢谢!
查看完整描述

5 回答

?
慕侠2389804

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

你的意思是这样的:


for(int i=0; i<4; i++)

    {

        for(int j=0; j<4; j++)

        {

            System.out.print(i+j+" ");

        }

        System.out.println("\n");

    }


查看完整回答
反对 回复 2023-12-13
?
翻阅古今

TA贡献1780条经验 获得超5个赞

作为一种闲置的好奇心,以下是如何使用一个变量来做到这一点。不要交出它 - 这不是你所要求的 - 但它很好地强调了 div 和 mod 的使用:

for (int i=0; i < 16; i++)
    Console.WriteLine(i/4 + i%4);

它本质上与我的其他答案相同,因为任何数字 A 都可以被认为是“较小的数字 B 乘以 C,加上 A 除以 C 的余数”的总和

用5的倍数表示,12就是2*5 + 12%5

因此,对于您需要打印的 16 个数字,i可以通过x/4(0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3 的序列)提供可以由(0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3 的序列)j提供x%4


查看完整回答
反对 回复 2023-12-13
?
倚天杖

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

你自己尝试过,并且在寻求帮助之前确实解决了问题,这是一件好事。

您应该首先实现一个打印 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 的嵌套循环。

一旦你开始工作,我相信很容易改变它,所以它会打印 0 1 2 3 1 2 3 4 2 3 4 5 3 4 5 6。


查看完整回答
反对 回复 2023-12-13
?
DIEA

TA贡献1820条经验 获得超2个赞

我们可以使用两个 for 循环来表达您的问题。外循环控制每个子序列的起始值,内循环控制要打印的子序列。


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

    for (int j=i; j <= i+3; ++j) {

        if (j > i) System.out.print(" ");

        System.out.print(j);

    }

    System.out.println();

}

这打印:


0 1 2 3

1 2 3 4

2 3 4 5

3 4 5 6


查看完整回答
反对 回复 2023-12-13
?
跃然一笑

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

仅使用两个变量意味着将两个变量相加:


    i j

0 = 0+0

1 = 0+1

2 = 0+2

3 = 0+3


1 = 1+0

2 = 1+1

3 = 1+2

4 = 1+3


2 = 2+0

3 = 2+1

4 = 2+2

5 = 2+3

...

您现在能想到如何重新编写循环来生成这组步骤吗?


查看完整回答
反对 回复 2023-12-13
  • 5 回答
  • 0 关注
  • 147 浏览

添加回答

举报

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