繁体   English   中英

使用星号创建右对齐三角形

[英]Creating Right-Aligned Triangles with Asterisks

我正在尝试使用星号打印右对齐的三角形。 到目前为止,我有一个程序要求用户输入形状,然后输入尺寸,然后打印出具有这些尺寸的三角形。 到目前为止,我有一个左对齐三角形的程序。 我如何使它正确对齐? 到目前为止,这是我的代码。

if (shape.equals("triangle")) {

    System.out.print("size?");
    int size = sc.nextInt();
    for (int i = 0; i <= size; i = i + 1) {
        for (int j = 0; j < i; j = j+ 1) {
            System.out.print("*");
        }
        System.out.println();
    }
    ...
}

尝试在左侧添加一些填充:

System.out.print("size?");
int size = sc.nextInt();
// input 5
for (int i = 0; i <= size; i = i + 1) {
    for (int j = 0; j < size-i; ++j) {
        System.out.print(" ");
    }
    for (int j = 0; j < i; ++j) {
        System.out.print("*");
    }
    System.out.println();
}

    *
   **
  ***
 ****
*****

演示

试试这个,这将添加左填充,结果,你会得到一个右对齐的三角形:

int star = 1, space = size - 1;
    while (n > 0) {
        for (int i = 0; i < space; i++) {
            System.out.print(" ");
        }
        for (int i = 0; i < star; i++) {
            System.out.print("#");
        }
        star = star + 1;
        space = space - 1;
        --size;
        System.out.println("");
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM