Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用嵌套for循环打印星星箭头_Java - Fatal编程技术网

Java 使用嵌套for循环打印星星箭头

Java 使用嵌套for循环打印星星箭头,java,Java,打印箭头。 通过输入要绘制的线的总数,让用户输入箭头的大小。 用户在下面的示例中输入了9。提示用户仅输入奇数。 它应该对此进行建模: * ** *** **** ***** **** *** ** * 到目前为止,我的代码如下所示: int i, j, numRows; Scanner reader=new Scanner(System.in); System.out.println("How many rows would you like the triangle

打印箭头。 通过输入要绘制的线的总数,让用户输入箭头的大小。 用户在下面的示例中输入了9。提示用户仅输入奇数。 它应该对此进行建模:

*
**
***
****
*****
****
***
**
*
到目前为止,我的代码如下所示:

    int i, j, numRows;
    Scanner reader=new Scanner(System.in);

    System.out.println("How many rows would you like the triangle to have?");
    numRows=reader.nextInt();
    //row
    for(i=1;i<=numRows;i++){
        //column
        for(j=1;j<=i;j++){
            System.out.print("*");

        }
        System.out.println();
    }
}
}


这是上半场。我可以通过改变嵌套循环来制作下半部分。我知道我需要让嵌套循环在到达中间列或I/2+1后减少星的数量,但我不确定如何做到这一点。我尝试在列循环的内部使用带有j-的if语句,但要么不正确,要么我犯了一个错误。

将此作为下半部分:

for(i=numRows;i>=0;i--){
        for(j=i-1;j>0;j--){
            System.out.print("*");

        }
        System.out.println();
}

您可以使用两个类似于现在的嵌套循环。考虑内部循环应该使用什么起始值以及循环的条件应该是什么

int i, j, numRows;
int modifier=1;
Scanner reader=new Scanner(System.in);

System.out.println("How many rows would you like the triangle to have?");
numRows=reader.nextInt();
//row
for(i=1;i>0;){
    //column
    for(j=1;j<=i;j++){
        System.out.print("*");

    }
    System.out.println();

    if (i == numRows) {
        modifier=-1;
    }
    i=i+modifier;
}
我真的不应该做你的家庭作业。。。但我总是被这些问题迷住,因为它们对我来说是琐碎而有趣的


我的教授们总是认为我很奇怪,因为我从来没有以最直截了当的方式回答过这个问题

这可能会出现在代码审查网站上?@PressingOnAlways-似乎不是这样,因为它不是一个功能齐全的程序。
public static void printStarArrow() {
    int i = 0;
    int j = 0;
    int numRows = 0;
    Scanner reader = new Scanner(System.in);
    System.out
            .println("How many rows would you like the triangle to have?");
    numRows = reader.nextInt();
    if (numRows <= 0 || numRows % 2 != 1) {
        System.out.println("Please enter an odd number only.");
        return;
    }
    // row
    for (i = 1; i <= numRows; i++) {
        if (i <= (numRows / 2) + 1)
            j = i;
        else
            j = --j;
        printStar(j);
    }
}

public static void printStar(int size) {
    for (int i = 0; i < size; i++) {
        System.out.print("*");
    }
    System.out.println("");
}