gpt4 book ai didi

java - 使用方法右对齐三角形

转载 作者:行者123 更新时间:2023-11-30 03:07:08 24 4
gpt4 key购买 nike

我需要使用两种方法制作一个右对齐的三角形:

这是我所能得到的最接近的结果:

public class Right {

private static void printStars(int k) {
for (int i = 0; i < k; i++) {
System.out.print("*");
}
System.out.println("");
}

private static void printSpaces(int k) {
for (int i = 0; i < k; i++) {
System.out.print(" ");
}
System.out.print("");
}

private static void printTriangle(int k) {
for (int i = 1; i <= k; i++) {
printSpaces(i);
printStars(i);
}
}

public static void main(String[] args) {
printTriangle(4);
}
}

我无法使用空格方法反向打印...它只是并排打印相同的内容,除了一个只是空格。

 *
**
***
****

最佳答案

对于您打印的每一行,您将打印与星星一样多的空格。但你想右对齐,所以这不可能是正确的。

您希望每行的字符总数相同,因为您希望三角形的右侧每行位于相同位置。因此,每行的长度应为 k 个字符,因为这是您要打印的最大星数。

由于您已经知道要在每行上打印多少个星星,因此您必须从 k 中减去它,以找出需要在其前面打印多少个空格。因此空格数为 k - i(因为星星数为 i)。

因此,更改 printSpaces 的调用并使其打印 k - i 空格:

private static void printTriangle(int k) {
for (int i = 1; i <= k; i++) {
printSpaces(k - i);
printStars(i);
}
}

关于java - 使用方法右对齐三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34477278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com