日期:2014-05-20  浏览次数:20703 次

如何用JAVA画一个菱形
RT 各位可否赐教一下编程的思路

------解决方案--------------------
界面实现方法是新建一个Canvas类..然后在canvas上画图..

调用Graphics中方法..你看下draw...

至于如何实现哪就是算法的问题了.
------解决方案--------------------
Java code
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();
        }
    }
}