class a2 { public static void main(String args[]) { int N=5; int i=1,j,k,m; for(m=1;m <=2*N-1;m++) { for(j=1;j <=Math.abs(N-i);j++) System.out.print(' '); k=N-Math.abs(N-i); for(j=1;j <=2*k-1;j++) System.out.print('*'); System.out.println(); i++; } } }
public class Test { public static void main(String[] args) { printDiamond(7, true); System.out.println(); printDiamond(7, false); } /** * 输出菱形 * @param line 菱形的行数 * @param isSolid 是否为实心 */ private static void printDiamond(int line, boolean isSolid) { line = line % 2 == 0 ? line + 1 : line; for(int k = line / 2, i = -k; i <= k; i++) { for(int j = -k, m = k - Math.abs(i); j <= m; j++) { boolean b; if(isSolid) { b = Math.abs(j) + Math.abs(i) > k; } else { b = Math.abs(j) + Math.abs(i) != k; } System.out.print(b ? " " : "*"); } System.out.println(); } } }
j= -3 -2 -1 0 1 2 3 i= +---+---+---+---+ -3 | | | | * | +---+---+---+---+---+ -2 | | | * | * | * | +---+---+---+---+---+---+ -1 | | * | * | * | * | * | +---+---+---+---+---+---+---+ 0 | * | * | * | * | * | * | * | +---+---+---+---+---+---+---+ 1 | | * | * | * | * | * | +---+---+---+---+---+---+ 2 | | | * | * | * | +---+---+---+---+---+ 3 | | | | * | +---+---+---+---+