右三角的反向输出-Java

时间:2015-10-08 21:29:40

标签: java

我已经获得了一个程序,它将从右到左打印六行的直角三角形,几乎像楼梯一样,每个#之间有一个空格。我已经写了一个答案,输出从左到右。如何更改打印件?

这就是我写的:

/**
 * Created by User on 08/10/2015.
 */
class Stars {
    public static void main(String[] args) {
        int row, numberOfHashes;

        for (row = 1; row <= 6; row++) {
            for(numberOfHashes = 1; numberOfHashes <= row; numberOfHashes++) {
                System.out.print("\t" + "#");
            }
            System.out.println(); // Go to next line
        }
    }
}

这是输出

    #
    #   #
    #   #   #
    #   #   #   #
    #   #   #   #   #
    #   #   #   #   #   #

如何打印输出,从右到左输出,顶部为1,底部为6?

3 个答案:

答案 0 :(得分:2)

你应该写一个打印空间的下降循环。 第一行打印5个空格。 第二行打印4个空格。 等等

答案 1 :(得分:2)

添加到循环中 - 在打印哈希值之前,打印所需的空白

class Stars {
    public static void main(String[] args) {
        int row, numberOfHashes;

        for (row = 1; row <= 6; row++) {
            for(numberOfBlanks = 1; numberOfBlanks <= 6 - row; numberOfBlanks++) {
                System.out.print("\t" + " ");
            }
            for(numberOfHashes = 1; numberOfHashes <= row; numberOfHashes++) {
                System.out.print("\t" + "#");
            }
            System.out.println(); // Go to next line
        }
    }
}

答案 2 :(得分:2)

int dimension = 6;
for(int i=1; i<=dimension; i++) {
    for(int j=dimension-i; j>0; j--) {
        System.out.print("  ");
    }
    for(int x=i; x>0; x--) {
        System.out.print("# ");
    }
    System.out.println();
}