总结:对于每行的难点,重点在于利用循环条件,构造目标所述的情况

 

package com.raystorm.test;

public class PrintRhombus {
    void print(int lineNumber) {
        for (int i = 1; i < lineNumber; i ++) {
            for (int j = 0; j < lineNumber - i; j ++) {
                System.out.print(" ");
            }
            for (int j = 1; j < 2 * i; j ++) {
                System.out.print("*");
            }
            System.out.println("");
        }
        for (int i = 0; i < lineNumber; i ++) {
            for (int j = 0; j < i; j ++) {
                System.out.print(" ");
            }
            for (int j = 2 * (lineNumber - i) - 1; j > 0; j --) {
                System.out.print("*");
            }
            System.out.println("");
        }
    }
    
    public static void main(String[] args) {
        PrintRhombus printRhombus = new PrintRhombus();
        printRhombus.print(3);
    }
}

 



What a stupid answer is the first answer. Even I can't understand by myself!