打印菱形Java兑现
打印菱形Java实现
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
/** * Created with IntelliJ IDEA. * User: TOSHIBA * Date: 12-8-31 * Time: 下午5:10 * To change this template use File | Settings | File Templates. */ public class ForTest2 { public static void main(String[] args){ int starNumberPerSide =6; int midPx = starNumberPerSide; //中间数==边*数 // if(starNumberPerSide%2 != 0) ; //奇数,中间点为* // if(starNumberPerSide%2 == 0) ; //偶数,中间点为" " // int i = 0; // // int jMin = midPx - (i - 1); // 上半边, 输出* // int jMax = midPx + (i - 1); // 上半边, 输出* // // int kMin = midPx - (i - 2); // 下半边, 输出* // int kMax = midPx + (i + 2); // 下半边, 输出* for(int i = 1; i <= starNumberPerSide; i++){ int jMin = midPx - (i - 1); // 上半边, 输出* int jMax = midPx + (i - 1); // 上半边, 输出* for (int j = 1; j <= starNumberPerSide*2-1; j++){ if(j>=jMin && j <= jMax) { if(i%2 != 0) { if(Math.abs(midPx - j)%2 == 0) System.out.print("*"); else System.out.print(" "); } else { if(Math.abs(midPx -j)%2 == 0) System.out.print(" "); else System.out.print("*"); } } else System.out.print(" "); } System.out.println(""); } for(int m = starNumberPerSide-1; m >= 1; m--){ int kMin = midPx - (m - 1); // 下半边, 输出* int kMax = midPx + (m - 1); // 下半边, 输出* for (int n = 1; n <= starNumberPerSide*2-1; n++){ if(n>=kMin && n <= kMax){ if(m%2 != 0) { if(Math.abs(midPx - n)%2 == 0) System.out.print("*"); else System.out.print(" "); } else { if(Math.abs(midPx - n)%2 == 0) System.out.print(" "); else System.out.print("*"); } } else System.out.print(" "); } System.out.println(""); } } }