我将如何更改此嵌套循环?
How would I change this nested loop?
今晚我的 AP 计算机科学作业 class 的简短家庭作业是更改此嵌套循环,使其打印 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();
}
}
增加 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));
与 @ScaryWombat already 一样,您可以将 i
递增 2 以获得所需的模式。我宁愿消除循环的嵌套结构;你知道最长的输出是七颗星,初始化一个常量 String
并为每一行打印相应的子字符串。喜欢,
String stars = "*******";
for (int i = 1; i <= stars.length(); i += 2) {
System.out.println(stars.substring(0, i));
}
今晚我的 AP 计算机科学作业 class 的简短家庭作业是更改此嵌套循环,使其打印 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();
}
}
增加 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));
与 @ScaryWombat already i
递增 2 以获得所需的模式。我宁愿消除循环的嵌套结构;你知道最长的输出是七颗星,初始化一个常量 String
并为每一行打印相应的子字符串。喜欢,
String stars = "*******";
for (int i = 1; i <= stars.length(); i += 2) {
System.out.println(stars.substring(0, i));
}