首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有特定输出的三重嵌套For循环(java)

具有特定输出的三重嵌套For循环(java)
EN

Stack Overflow用户
提问于 2017-10-02 13:35:34
回答 5查看 1.4K关注 0票数 4

我需要使用3个"for“循环来编写一些java输出

122333444455555

22333444455555

333444455555

444455555

55555

到目前为止,我的代码如下:

代码语言:javascript
复制
public static void problemFour() {
      for(int i = 5; i >= 1; i--) {
         for(int a = 1; a <= i; a++) {
            for(int b = 1; b <= a; b++) {
               System.out.print(a);
            }
         }
         System.out.println();
      }
   }

下面的输出

代码语言:javascript
复制
111112222333445
11111222233344
111112222333
111112222
11111

我已经交换了许多++的组合--'s,<'s,>'s,5‘和1's。

我被困住了,如果有人能给我指出正确的方向,那就太好了。

EN

回答 5

Stack Overflow用户

发布于 2017-10-02 13:42:38

您在行的开头以及一个数字(这里是字符)的重复次数上犯了错误。通过以下方式进行修复:

代码语言:javascript
复制
for(int i = 1; i <= 5; i++) {          // Each iteration for one line
    for(int a = i; a <= 5; a++) {      // starts with a for ith line
        for(int b = 1; b <= a; b++) {  // a times `a` digit
            System.out.print(a);
        }
    }
    System.out.println();
}

要简单地你的问题,首先考虑打印这个模式:

代码语言:javascript
复制
12345
2345
345
45
5

然后对其进行扩展:在最内层的循环中,将重复代码放入等于数字次数的位置,使用:

代码语言:javascript
复制
for(int b = 1; b <= a; b++) {  // a times `a` digit
     System.out.print(a);
}
票数 5
EN

Stack Overflow用户

发布于 2017-10-02 13:42:25

我们可以观察到数字1只打印一次,2打印两次,3打印三次,等等。

firstValueInLine保持行的开始编号;number是打印的行中的编号;counter只确保number打印number

代码语言:javascript
复制
    for (int firstValueInLine = 1; firstValueInLine <= 5; ++firstValueInLine) {
        for (int number = firstValueInLine; number <= 5; ++number) {
            for (int counter = 0; counter < number; ++counter) {
                System.out.print(number);
            }
        }
        System.out.println();
    }
票数 1
EN

Stack Overflow用户

发布于 2017-10-02 14:33:02

您可以尝试以下操作。看起来不错。

代码语言:javascript
复制
  public static void problemFour() {
    for (int i = 1; i <= 5; i++) {
      for (int a = i; a <= 5; a++) {
        for (int b = 1; b <= a; b++) {
          System.out.print(a);
        }
      }
      System.out.println();
    }
  }

输出:

代码语言:javascript
复制
122333444455555
22333444455555
333444455555
444455555
55555
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46520008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档