java 打印心形图案

代码

/**
     * 使用公式
     *((0.05*x)^2 + (0.1*y)^2-1)^3-(0.05*x)^2 * (0.1*y)^3 < = 0
     * @param r   半径
     * @param size  大小 0-1
     * @param left  左边显示
     * @param right 右边显示
     * @param center 中间显示
     */
    private static void heart(int r,double size,String left,String right,String center){
        size=1/(1.5*r*size);
        StringBuilder sb=new StringBuilder();
        for (int y = r; y > -r; y--,sb.append("\n"))
            for (int x = -2*r; x < 2*r; x++ ) {
                String req=center;
                if(x<0) req=left;
                else if(x>0) req=right;
                char msg=(req + req).charAt((x - y) % req.length() + req.length());
                sb.append((Math.pow(Math.pow(x * size, 2) + Math.pow(y * 2*size, 2) - 1, 3) - Math.pow(x * size, 2) * Math.pow(y * 2*size, 3) <= 0 ?msg + " " : "  "));
            }
        System.out.println(sb.toString());
    }

效果

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容