您的位置:首页 > 编程语言 > Java开发

Java打印菱形和空心菱形

2014-04-14 10:39 316 查看
/**
* 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 算法 线性