如何打印图案然后打印该图案旁边的反向图案?

时间:2014-11-19 08:38:49

标签: java

嘿我如何打印图案然后打印该图案旁边的反向图案?像这样:

1            1 2 3 4 5
1 2          1 2 3 4
1 2 3        1 2 3
1 2 3 4      1 2 
1 2 3 4 5    1

我知道如何打印这两种模式,我只能找到如何在第一种模式旁边打印第二种模式。

package exc3;
public class Exc3 {

    public static void main(String[] args) {
        int row = 1;
        int i = 0;

            for (i=1; i<=row; i++){
                System.out.print(i + " ");

                if (i == row){
                    System.out.println();
                    i = 0;
                    row++;
                }

                if (row > 5)
                    break;

            }

    }

这是我制作模式的代码,但我不认为我需要帮助,只需将第二个模式放在第一个模式旁边我不知道该怎么做

3 个答案:

答案 0 :(得分:0)

你必须将其视为一种模式。

数字三角形以及空格。而且你必须打印整行,然后才能进入下一行(System.out.print(i + " ");)。如果您打印第一个三角形,则无法将最后一个三角形从下向上移动。

答案 1 :(得分:0)

我不会给你代码,但有一些提示和链接可以帮助你学习。

首先应该知道字符串可以有多长。然后,您可以生成两个字符串,一个用于每行的第一部分,另一个用于第二行。

此时,您可以使用正确的填充String.Format()

来使用format

答案 2 :(得分:0)

这是您想要的代码!!

import java.io.*;
public class Exc3 {

    public static void main(String[] args) {
        int row = 1;
        int i = 0;
        int j = 0;
        int max = 5;
        for (i = 1; i <= row; i++) {
            System.out.print(i);
            System.out.print(" ");

            if (i == row) {
                for (j = 1; j <= max; j++) {
                    System.out.print("  ");
                }
                for (j = 1; j <= max; j++) {
                    System.out.print(j + " ");
                }
                System.out.println();
                i = 0;
                row++;
                max--;
            }
            if (row > 5)
                break;
        }
    }
}

输出: -

1           1 2 3 4 5 
1 2         1 2 3 4 
1 2 3       1 2 3 
1 2 3 4     1 2 
1 2 3 4 5   1