for (int i = 1; i <= 7; i++)
if (i < 3 || i == 4) for (int j = 1; j <= 5; j++)
System.out.print("*");
if (1 > 2 && 1 < 4 || 1 > 4 && 1 <= 7) for (int k = 1; k <= 2; k++)
System.out.print("*");
System.out.print("");
}
}
**************
*****
*****
**************
**************
*****
*****
*****
*****
我希望使用(for和if)这样做。
答案 0 :(得分:2)
因为在这个例子中,所有水平线都是从最左边开始的连续线*,你可以将星数写入int []。
int[] stars = new int[] {14, 5, 5, 14, 14, 5, 5, 5, 5};
for (int currentStars : stars) {
for (int i = 0; i < currentStars; i++) {
System.out.print('*');
}
System.out.println();
}
答案 1 :(得分:0)
如果您只想写F,请使用单个循环。如果要编写所有字母,则必须使用某些List或数组来改进方法以存储字母形状
循环示例
for (int i = 0; i < 9; i++) {
int repeat = 5;
if (i == 0 || i == 3 || i == 4) repeat = 14;
for (int c = 0; c < repeat; c++)
System.out.print("*");
}
的示例
for (int i = 0; i < 9; i++) {
int repeat = 5;
if (i == 0 || i == 3 || i == 4) repeat = 14;
StringUtils.repeat("*", repeat);
}
答案 2 :(得分:0)
只需一个循环:
for (int i = 1; i <= 9; i++){
if(i=1 || i=4 || i=5)
System.out.println("**************");
else
System.out.println("*****");
}
如果你想使用嵌套循环,你可以这样做:
int rowLength=0;
for (int i = 1; i <= 9; i++){
if(i=1 || i=4 || i=5)
rowLength=14;
else
rowLength=5;
for (int j = 0; j < rowLength; j++){
System.out.print("*");
}
System.out.println();
}
你不需要循环来做到这一点,但我想这是某种学校问题。