Java 如何使我的中空等边三角形的右侧打印出“\&引用;适当地?我的间距有问题

Java 如何使我的中空等边三角形的右侧打印出“\&引用;适当地?我的间距有问题,java,Java,我被卡在第三个for循环上,无法理解如何制作等边三角形的另一侧(右侧) public static void printTriangle(int x) { for (int i = 1; i <= x; i++) { for (int j = i; j < x; j++) { System.out.print(" "); } System.out.print("/"

我被卡在第三个for循环上,无法理解如何制作等边三角形的另一侧(右侧)

public static void printTriangle(int x) {
    for (int i = 1; i <= x; i++) {
        for (int j = i; j < x; j++) {
            System.out.print(" ");
        }
        System.out.print("/");
        for (int k = i; k > x * 2; k++) {
            System.out.print(" ");
        }
        System.out.print("\\");
        System.out.println();
    }
    for (int a = 1; a <= x; a++) {
        System.out.print("--");
    }
}
publicstaticvoidprintTriangle(intx){
对于(int i=1;i x*2;k++){
系统输出打印(“”);
}
系统输出打印(“\\”);
System.out.println();
}

for(int a=1;a您的
for
循环

for(int k=i;k>x*2;k++){
系统输出打印(“”);
}
从线索引
i
开始,然后转到
x*2
,这是线计数的两倍。这意味着,在第一行中,您将使用最大的间距。您想要的正好相反;在第一行中,您的边不需要任何间距,在接下来的行中,它应该越来越大:

  • 第一行:间距为0
  • 第二行:间距为2
  • 第三行:间距为4
  • ……等等 因此:
for(int k=0;k<(i-1)*2;k++){
系统输出打印(“”);
}
你应该得到你想要的。 输出:


每行三角形的字符宽度为i*2,因此不包括/和\字符,必须打印i*2-2个空格。 替换

for(int k=2;k
请提供所需输出的样本,好吗?
    /\
   /  \
  /    \
 /      \
/        \
----------
for (int k = i; k > x * 2; k++) {
 for (int k = 2; k < i*2; k++) {