Java 尝试使用for循环形成半个三角形时,没有输出任何内容

Java 尝试使用for循环形成半个三角形时,没有输出任何内容,java,netbeans,Java,Netbeans,这是一道练习题,我是为我的java考试准备的……我得到了主方法,不能更改输入,只能更改其他两个方法及其代码。我需要打印出来 & && &&& &&&& &&&&& &&&&&& 我想我已经写了我的for循环错误来创建空白空间,我似乎无法用我给出的主要方法得到这个写,有什么想法吗? public st

这是一道练习题,我是为我的java考试准备的……我得到了主方法,不能更改输入,只能更改其他两个方法及其代码。我需要打印出来

     &
    &&
   &&&
  &&&&
 &&&&&
&&&&&&

我想我已经写了我的for循环错误来创建空白空间,我似乎无法用我给出的主要方法得到这个写,有什么想法吗?

public static void main(String[] args) {
    int size = 6;
    char c = '&';
    for (int i = 1; i < size + 1; i++) {
        drawBlanks(size, size - i);
        drawChars(size, size - i, c);
        System.out.println();
    }
    System.out.println();

}

public static void drawChars(int size, int i, char c) {

    for (int j = size; j < 1; j--) {
        System.out.print(c);
    }

}

public static void drawBlanks(int size, int i) {

    for (int k = 0; k <= i; k++) {
        System.out.print(" ");
    }
}
publicstaticvoidmain(字符串[]args){
int size=6;
字符c='&';
对于(int i=1;i对于(int k=0;k,此循环中存在问题:

for(int j = size; j < 1; j--)
j
应该是>到
i
而不是
j
1


一个循环内的替代解决方案:

public class Main {

    public static void main(String[] args) {
        int rowCount = 10;
        int whiteSpaceCount = rowCount - 1;

        for (int i = 0; i < rowCount; i++) {
            for (int j = 0; j < rowCount; j++) {
                char ch = ' ';
                if (j >= whiteSpaceCount)
                    ch = '&';
                System.out.print(ch);
            }
            System.out.println();
            whiteSpaceCount = rowCount - (i + 2);
        }
    }
}
公共类主{
公共静态void main(字符串[]args){
int rowCount=10;
int whiteSpaceCount=rowCount-1;
对于(int i=0;i=空格计数)
ch='&';
系统输出打印(ch);
}
System.out.println();
whiteSpaceCount=行计数-(i+2);
}
}
}

您需要将
j<1;
更改为
j>1;
,然后您的输出将

输出:

      &&&&&
     &&&&&
    &&&&&
   &&&&&
  &&&&&
 &&&&&
要获得预期输出,请将
j>1
更改为
j>i

 public static void main(String[] args) {
            int size = 6;
            char c = '&';
            for (int i = 1; i < size + 1; i++) {
                drawBlanks(size, size - i);
                drawChars(size, size - i, c);
                System.out.println();
        }
    System.out.println();

}

public static void drawChars(int size, int i, char c) {

    for (int j = size; j > i; j--) {
        System.out.print(c);
    }

}

public static void drawBlanks(int size, int i) {

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

哦,是的,我现在明白了,我一定是打错了,谢谢
 public static void main(String[] args) {
            int size = 6;
            char c = '&';
            for (int i = 1; i < size + 1; i++) {
                drawBlanks(size, size - i);
                drawChars(size, size - i, c);
                System.out.println();
        }
    System.out.println();

}

public static void drawChars(int size, int i, char c) {

    for (int j = size; j > i; j--) {
        System.out.print(c);
    }

}

public static void drawBlanks(int size, int i) {

    for (int k = 0; k <= i; k++) {
        System.out.print(" ");
    }
}
      &
     &&
    &&&
   &&&&
  &&&&&
 &&&&&&