我必须在屏幕上打印以下美国国旗:
*****=====
*****=====
*****=====
==========
==========
==========
(*****=====
5 *
和5 =
')(总共6行)
我只允许使用一个for循环,我不能两次使用相同的System.out.print();
。
目前我有:
for (x = 1; x <= 3; x++) {
System.out.println("*****=====");
}
for (x = 1; x <= 3; x++) {
System.out.println("==========");
}
这有效,但它有两个for循环,我无法弄清楚如何只使用一个。
答案 0 :(得分:5)
这是一个有创意的邀请。
System.out.println(
"*****=====\n"
+"*****=====\n"
+"*****=====\n"
+"==========\n"
+"==========\n"
+"==========");
或
System.out.print("*****");
System.out.println("=====");
System.out.print("*****=");
System.out.println("====");
System.out.println("*****=====");
System.out.println("==========");
System.out.print("=======");
System.out.println("===");
System.out.print("=");
System.out.println("=========");
看,没有重复的印刷声明......
for(int i=0; i<6; i++)
if(i<3)
System.out.println("*****=====");
else
System.out.println("==========");
或者,开发人员可能会有更多的经验写作
for(int i=0; i<6; i++)
System.out.println(i<3? "*****=====": "==========");
或者,获得创造力的奖励积分
String string="*****==========";
for(int i=0, s=0; i<6; i++, s=i/3*5)
System.out.println(string.substring(s, s+10));
您知道,实现目标的方法不止一种......重要的是您尝试了解这些示例如何将Java语言的功能添加到您自己的工具集中。也许你会创建自己的替代解决方案。
答案 1 :(得分:1)
在.co.uk
循环中使用if
条件:
for
答案 2 :(得分:1)
String firstPart = "*****";
String secondPart = "=====";
for (int i=0; i < 6; i++) {
System.out.println(firstPart + secondPart);
if (i == 2) {
firstPart = "=====";
}
}
答案 3 :(得分:0)
for (int x = 1; x <= 6; x++)
System.out.println(x<4 ? "*****=====" : "=========");
或
for(int x = 1; x&lt; = 6; x ++)System.out.println(x&lt; 4?&#34; ***** =====&#34;:&#34 ; ======&#34);
我可以提出最短的时间......