所以我想打印这种模式:
*******
******
*****
****
***
**
*
到目前为止,这是我的代码:
import java.util.*;
public class DO
{
public static void main(String[] args)
{
final int BASE_SIZE = 8;
for (int r = 0; r < BASE_SIZE; r++)
{
for (int c = 0; c < (r + 1); c++)
{
System.out.print("*");
}
System.out.println();
}
}
如何反转当前正在打印的模式,以便获得我刚刚展示给您的模式?
答案 0 :(得分:5)
我会用StringBuilder
实现它。从最长的行开始,在循环中减去一个字符,直到StringBuilder
为空。像
StringBuilder sb = new StringBuilder("*******");
while (sb.length() > 0) {
System.out.println(sb);
sb.setLength(sb.length() - 1);
}
答案 1 :(得分:1)
无需更改外部循环,只需将内部循环更改为:
for (int c = BASE_SIZE; c > r; c--)
所以:
for (int r = 0; r < BASE_SIZE; r++)
{
for (int c = BASE_SIZE; c > r; c--)
{
System.out.print("*");
}
System.out.println();
}
答案 2 :(得分:0)
for(int c = r ; c > 0 ; c--)
System.out.print("*");