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

【java之基础算法】打印菱形

2013-09-02 22:45 435 查看
第一种:
public class Test1 {
public static void main(String[] args) {
int n = 11;// 行数
for (int i = 0; i < n; i++) {
if (i <= (n - 1) / 2) {
for (int j = i; j < (n - 1) / 2; j++) {
System.out.print(" ");
}
for (int k = 0; k < 2 * i + 1; k++) {
System.out.print("*");
}
} else {
for (int j = 0; j < i - (n - 1) / 2; j++) {
System.out.print(" ");
}
for (int k = 0; k < 2 * (n - i) - 1; k++) {
System.out.print("*");
}
}
System.out.println();
}
}
}
结果:
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
第二种:
public class Test1 {
public static void main(String[] args) {
final int size = 5;// 定义有多少行
// 做1-4列的图形
for (int i = 1; i <= size; i++) {// 外层循环控制趟数
for (int j = i; j < size; j++) {// 这一层控制空白的地方
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {// 这层控制星星的数量
System.out.print("*");
}
System.out.println();
}
// 反方向打印图形,即做图形的下半部分
for (int i = size - 1; i >= 1; i--) {
for (int j = 1; j <= size - i; j++) {
System.out.print(" ");
}
for (int k = 2 * i - 1; k > 0; k--) {
System.out.print("*");
}
System.out.println();
}
}
}
结果:

*
***
*****
*******
*********
*******
*****
***
*


本文出自 “CEO之路” 博客,请务必保留此出处http://zhaohaibo.blog.51cto.com/7808533/1287595
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: