我正在尝试使用星号打印右对齐的三角形。到目前为止,我有一个程序,询问用户的形状,然后是一个大小,然后打印出这些尺寸的三角形。到目前为止,我有一个左对齐三角形的程序。我该怎么做才能使它正确对齐?到目前为止,这是我的代码。
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();
}
...
}
答案 0 :(得分:2)
尝试在左侧添加一些填充:
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();
}
*
**
***
****
*****
答案 1 :(得分:0)
试试这个,这将添加左填充,结果,你会得到一个右对齐的三角形:
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("");
}