/**
* Java打印菱形和空心菱形
* 应该是线性代数问题,肯定有更高明的方法
* 暂且先学习以下两种方法吧
*/
public class PrintDiamond {
public static void main(String[] args) {
PrintDiamond pd = new PrintDiamond();
pd.printDiamond(9);
System.out.println("--我是华丽的分割线^_^--");
pd.printEmptyDiamond(9);
}
/**
* 打印空心菱形
*/
public void printEmptyDiamond(int m) {
for (int i = -m / 2; i <= m / 2; i++) {
for (int j = 0; j < (i > 0 ? i : -i); j++) {
System.out.print(" ");
}
for (int j = 0; j < (i > 0 ? -2 * i + m : 2 * i + m); j++) {
if (j == 0 || j == (i > 0 ? -2 * i + m : 2 * i + m) - 1) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
/**
* 打印菱形
*/
public void printDiamond(int m) {
int t = m + 1;
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= Math.abs(t / 2 - i); j++) {
System.out.print(" ");
}
for (int k = 1; k <= m - 2 * Math.abs(t / 2 - i); k++) {
System.out.print("*");
}
System.out.println();
}
}
}
Java打印菱形和空心菱形
最新推荐文章于 2023-04-09 10:15:00 发布