标签:
public class LingXing { public static void print(int n){ int i = 0; int j = 0; for(i=0; i<n; i++){//前四行 for(j=0; j<n+i;j++){ if(j < n-i-1) System.out.print(" "); else System.out.print("*"); } System.out.println(); } for(i=1; i<n; i++){//后三行 for(j=0; j<(2*n-i-1); j++){ if(j < i) System.out.print(" "); else System.out.print("*"); } System.out.println(); } } public static void main(String[] args) { print(4); } }
结果显示:
* *** ***** ******* ***** *** *
然后有网友问能不能把中间的星号去掉。好吧,有需求就要尽力满足咯。于是我加了两行:
public class LingXing { public static void print(int n){ int i = 0; int j = 0; for(i=0; i<n; i++) {//前四行 for(j=0; j<n+i;j++) { if(j < n-i-1) System.out.print(" "); else if(j==n-i-1||(j==n+i-1)) System.out.print("*");//红色代表新加上去的,下同…… else System.out.print(" "); } System.out.println(); } for(i=1; i<n; i++) {//后三行 for(j=0; j<(2*n-i-1); j++) { if(j < i) System.out.print(" "); else if(j==i||(j==2*n-i-2)) System.out.print("*"); else System.out.print(" "); } System.out.println(); } } public static void main(String[] args) { print(4); } }
结果显示为:
* * * * * * * * * * * *
然后我就在想:能不能在中间再加一圈菱形。于是:
public class LingXing { public static void print(int n){ int i = 0; int j = 0; for(i=0; i<n; i++) {//前四行 for(j=0; j<n+i;j++) { if(j < n-i-1) System.out.print(" "); else if(j==n-i-1||(j==n+i-1)||(j==n-i+1)||(j==n+i-3)) System.out.print("*"); else System.out.print(" "); } System.out.println(); } for(i=1; i<n; i++) {//后三行 for(j=0; j<(2*n-i-1); j++) { if(j < i) System.out.print(" "); else if(j==i||(j==2*n-i-2)||(j==i+2)||(j==2*n-i-4)) System.out.print("*"); else System.out.print(" "); } System.out.println(); } } public static void main(String[] args) { print(7); } }
显示结果为:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
在这里我就抛砖引玉了啊,望各位大神提供更好玩的玩法……
关于双重循环的简单应用——打印菱形(没事写的玩的,纯属娱乐)
标签:
原文地址:http://www.cnblogs.com/leejuntongxue/p/4389428.html