图案印刷

时间:2018-03-02 11:11:50

标签: java

我喜欢在java中打印一个给出输出的模式:

1
23
456
78910  ....

但是我没有得到如何做到这一点,我写了一个打印模式的程序

1
12
123
1234 ...

作为

import java.util.*;
public class Test {

public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int r,c;
for(r=1;r<=5;r++) {
        for(c=1;c<=r;c++){
        System.out.print(c+" ");
    }

    System.out.println();   
}}}

获取每一行的最后一个数字并从第二行的那个数字开始是我遇到的麻烦。我尝试在另一个之间添加另一个for循环,但它没有帮助。任何人都可以告诉我我缺少的内容以及如何做到这一点!

2 个答案:

答案 0 :(得分:1)

您正在打印列计数器c,它会在每一行重置:您需要一个单独的变量来保存您要打印的数字。

此外,您应该开始习惯于从零开始计数:)

public static void main(String[] args) {
    int n = 1;
    for (int r = 0; r < 4; r++) {
        for (int c = 0; c < r+1; c++) {
            System.out.print(n++);
            if (c != r) System.out.print(" ");
        }
        System.out.println();
    }
}

答案 1 :(得分:0)

import java.util.Scanner;
public class Pattern14 {

public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int flag = 1;
        
        for(int i=1;i<=n;i++) {//number of rows
            
            for(int j=1;j<=i;j++) { // decides the number of digits in row
                System.out.print(flag+++" ");
            }
            
            System.out.println();
        }

    }

}