java - 打印下面提到的数字模式的逻辑是什么

标签 java numbers logic

class Num {
    public static void main(String[] args) {
        for(int i=1;i<=5;i++) {
            for(int j=1;j<=i;j++) {
                if(j==1) {
                    System.out.print(i);
                }
                else if(j==2) {
                    System.out.print(" "+(i+j+2));
                }
                else {
                    System.out.print(" "+(i+j+4));
                }
            }
            System.out.println(" ");
        }
    }
}

输出:

1
2 6
3 7 10 
4 8 11 12
5 9 12 13 14

预期:

1
2 6
3 7 10 
4 8 11 13
5 9 12 14 15

我尝试了很多并想出了这个逻辑

when j=1 then i
when j=2 then i+j+2
when j=3 then i+j+4
when j>=4 then i+j+5

这里总共有4个条件,我如何在嵌套的for循环中做到这一点。任何其他逻辑也是可以理解的。

最佳答案

int lineCount = 5;
for (int i = 1; i <= lineCount; i++) {
    int value = i;
    for (int j = 1; j <= i; j++) {
        System.out.print(value +  " ");
        value += lineCount -j;
    }
    System.out.println("");
}

关于java - 打印下面提到的数字模式的逻辑是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26560299/

相关文章:

java - mongodb 与 java 中的 where 子句不同

django - 在 Django 中四舍五入小数

c# - C#中的 "decimal"类型是二进制编码的十进制吗?

prolog - 在这种情况下,当 gprolog 显示 "true?"而不是 "yes"时,这意味着什么?

mysql - SQL日期选择彼此X秒范围内的行

prolog - 在 Prolog 中递归后返回一个值

java - 保护来自客户端应用程序的服务器端输出

java - 快速SVD算法

java - 生成从小程序到当前浏览器的警报

java - 在 Java 中将数字转换为单词