public class ShapeDemo {
public static void main(String[] args) {
shape1(20);
shape2(20);
shape3(10);
shape4(10);
}
/**
*
**
***
****
*/
public static void shape1(int lines) {
for (int i = 0; i < lines; i++) { // 控制行
for (int j = 0; j <= i; j++) { // 控制列
System.out.print("*");
}
System.out.println();
}
}
/**
*
**
***
****
* @param lines
*/
public static void shape2(int lines) {
for (int i = 0; i < lines; i++) { // 控制行
for (int j = 0; j < lines - i - 1; j++) { // 打空格
System.out.print(" ");
}
for (int j = 0; j <= i; j++) { // 控制列
System.out.print("*");
}
System.out.println();
}
}
/**
*
***
*****
***
*
*/
public static void shape3(int lines) {
// 上半边
for (int i = 0; i < lines; i++) {
for (int j = 0; j < lines - i - 1; j++) { // 打空格
System.out.print(" ");
}
for (int j = 0; j < 2 * i + 1; j++) { // 打*
System.out.print("*");
}
System.out.println();
}
// 下半边
int count = lines - 1;
for (int i = 0; i < count; i++) {
for (int j = 0; j < i + 1; j++) { // 打空格
System.out.print(" ");
}
for (int j = 0; j < (count - i - 1) * 2 + 1; j++) { // 打*
System.out.print("*");
}
System.out.println();
}
}
public static void shape4(int lines) {
// 上半边
for (int i = 0; i < lines; i++) {
for (int j = 0; j < lines - i - 1; j++) { // 打空格
System.out.print(" ");
}
for (int j = 0; j < 2 * i + 1; j++) { // 打*
System.out.print( j == 0 || j == 2 * i ? "*" : " ");
}
System.out.println();
}
// 下半边
int count = lines - 1;
for (int i = 0; i < count; i++) {
for (int j = 0; j < i + 1; j++) { // 打空格
System.out.print(" ");
}
for (int j = 0; j < (count - i - 1) * 2 + 1; j++) { // 打*
System.out.print(j == 0 || j == (count - i - 1) * 2 ? "*" : " ");
}
System.out.println();
}
}
}
空心菱形结果: