Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用for循环打印数字序列图_Java_For Loop - Fatal编程技术网

Java 如何使用for循环打印数字序列图

Java 如何使用for循环打印数字序列图,java,for-loop,Java,For Loop,我需要编写一个程序,打印出下图: 122333444455555 22333444455555 333444455555 444455555 55555 这是我的代码: for (int a = 0; a <= 5; a++) { for (int b = 0; b < a; b++) { System.out.print(a); } } 打印出12233344555 我需要将for循环嵌套三倍,但我

我需要编写一个程序,打印出下图:

122333444455555
22333444455555
333444455555
444455555
55555
这是我的代码:

for (int a = 0; a <= 5; a++)
{
    for (int b = 0; b < a; b++)  
    {          
        System.out.print(a);
    }        
}
打印出12233344555


我需要将for循环嵌套三倍,但我不确定从何处开始。如果我能得到任何提示,我将不胜感激。

我想你已经考虑过了。我会简化事情,使用不同的算法。启动一个字符串并使用一个循环对其进行变异。像

String s = "122333444455555";
for (int i = 0; i < 5; i++) {
    System.out.println(s);
    s = s.substring(i + 1);
}

我想你想得太多了。我会简化事情,使用不同的算法。启动一个字符串并使用一个循环对其进行变异。像

String s = "122333444455555";
for (int i = 0; i < 5; i++) {
    System.out.println(s);
    s = s.substring(i + 1);
}

我知道你有你的答案,但我有一些乐趣做这个LOL:

public static void main(String[] args)
{
    int aux = 0;
    for(int i = 1; i <=5 ; i++) {
        if(i == 1) {
            System.out.print("1");
        } else if (i ==2){
            System.out.print("22");
        }else if (i ==3){
            System.out.print("333");
        }else if (i ==4){
            System.out.print("4444");
        }else if (i ==5){
            System.out.print("55555\n");
            if(aux != 5) {
                aux ++;
                i = aux;
            }
        }
    }
}

我知道你有你的答案,但我有一些乐趣做这个LOL:

public static void main(String[] args)
{
    int aux = 0;
    for(int i = 1; i <=5 ; i++) {
        if(i == 1) {
            System.out.print("1");
        } else if (i ==2){
            System.out.print("22");
        }else if (i ==3){
            System.out.print("333");
        }else if (i ==4){
            System.out.print("4444");
        }else if (i ==5){
            System.out.print("55555\n");
            if(aux != 5) {
                aux ++;
                i = aux;
            }
        }
    }
}
或者:

for(int a = 1; a <= 5; a++){
    for (int b = a; b <= 5; b++) {
        for (int c = 1; c <= b; c++) {
            System.out.print(b);
        }
    }
    System.out.println();
}
或者:

for(int a = 1; a <= 5; a++){
    for (int b = a; b <= 5; b++) {
        for (int c = 1; c <= b; c++) {
            System.out.print(b);
        }
    }
    System.out.println();
}
既然你说了for循环,我想你指的是至少两个循环

for (int i = 1; i <= 5; i++) {
    for(int k = i; k <= 5; k++) {
    System.out.print((k+"").repeat(k));
    }
    System.out.println();
}
既然你说了for循环,我想你指的是至少两个循环

for (int i = 1; i <= 5; i++) {
    for(int k = i; k <= 5; k++) {
    System.out.print((k+"").repeat(k));
    }
    System.out.println();
}

关于您的问题,更常见的解决方案是:

代码

打印序列4


关于您的问题,更常见的解决方案是:

代码

打印序列4


这个方法很好,但只适用于Java11或更高版本。谢谢,但它不相关吗?OP没有具体说明。我们已经达到Java16了!StringBuilder仅适用于Java 5或更高版本:这个方法很好,但只适用于Java11或更高版本。谢谢,但它不相关吗?OP没有具体说明。我们已经达到Java16了!StringBuilder仅适用于Java 5或更高版本: