我将如何更改此嵌套循环?

时间:2019-10-17 01:53:36

标签: java nested-loops

我今晚为我的AP计算机科学课做的简短家庭作业是更改此嵌套循环,以使其打印1、3、5、7星,而不是1、2、3、4、5、6、7星。

这是我的代码:

public static void main(String args[])
    {
        //print 1,3,5,7 stars
        for(int i=1; i<=7; i++)
        {
            for(int j=1; j<=i; j++)
            {
                System.out.print("*");
            }
            System.out.println();
        }
    }

3 个答案:

答案 0 :(得分:3)

i增加两个而不是一个

for(int i=1; i<=7; i = i + 2)

或@andreas的建议

for(int i=1; i<=7; i+= 2)

输出

*
***
*****
*******

修改

根据@andreas在下面的评论,在java11 +中,以下也是可能的

for(int i=1; i<=7; i += 2)
    System.out.println("*".repeat(i));

答案 1 :(得分:1)

由于@ScaryWombat已经answered,因此您可以将i加2以实现所需的模式。我希望消除循环的嵌套结构;您知道最长的输出是七颗星,初始化一个常量String并为每行打印相应的子字符串。喜欢,

String stars = "*******";
for (int i = 1; i <= stars.length(); i += 2) {
    System.out.println(stars.substring(0, i));
}

答案 2 :(得分:0)

查看模%运算符

如果i%2 == 0

我让你尝试一下。