特别的520,送给特别的你们,还不来看看?

我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载对你的思念... 也许match命中注定了 你在我的世界里永远的烙上了静态的属性... 而我不慎调用了喜欢你这个方法... 当我义无返顾的把自己作为参数传进这个方法时... 我才发现喜欢上你是一个死循环... 它不停的返回对你的思念压入我心里的堆栈... 在这无尽的黑夜中... 我的内存里已经再也装不下别人... 我不停的向系统申请空间... 但却捕获一个异常---我喜欢的人不喜欢我... 为了解决这个异常... 我愿意虚拟出最后一点内存... 把所有我能实现的方法地址压入堆栈... 并且在栈尾压入最后一个方法---将字符串"我喜欢你,你喜欢我吗?"传递给你... 如果返回值为真--我将用尽一生去爱你...

小诗已经献上了,接下来,当然要发挥我们的才能了,还不来看看?

我们需要创建一个心形图案,按照心形图案的位置和长度,对所创建的字符串进行截断并在所需的位置上输出,最终能呈现在屏幕上满满的爱心。

 1import java.awt.*;  
 2import javax.swing.JFrame;  
 3public class ILOVEYOU extends JFrame {  
 4    //获取屏幕大小  
 5    private static final int WIDTH = 500;  
 6    private static final int HEIGHT = 500;     
 7    private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;  
 8    private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;  
 9    public ILOVEYOU(){  
10        super("I love you");//设置窗口标题  
11        this.setBackground(Color.BLACK);  
12        this.setLocation((WINDOW_WIDTH-WIDTH)/2,(WINDOW_HEIGHT-HEIGHT)/2);//设置窗口位置  
13        this.setSize(WIDTH, HEIGHT);//设置窗口大小  
14        this.setLayout(getLayout());//设置窗口布局  
15        this.setVisible(true);//设置窗口可见  
16        this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置窗口默认关闭方式  
17    }  
18    public void paint(Graphics g){  
19        double x,y,r;//横纵坐标以及半径  
20        Image image = this.createImage(WIDTH, HEIGHT);  
21        Graphics pic = image.getGraphics();  
22        for (int i = -2; i < 90; i++) {  
23            for (int j = -2; j < 90; j++) {  
24                r=Math.PI/45+Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*18;  
25                x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+WIDTH/2;  
26                y=-r*Math.sin(Math.PI/45*j)+HEIGHT/3;  
27                pic.setColor(Color.MAGENTA);  
28                pic.fillOval((int)x, (int)y, 2, 2);  
29            }  
30            g.drawImage(image,0,0,this);//生成图片  
31        }  
32    }  
33    public static void main(String[] args) {  
34        new ILOVEYOU();  
35    }  
36}  

运行效果如下:

这下是不是满满的自信,有没有?

好了,小编也只能帮你到这里了,接下来就要靠小伙伴的本领了,哈哈。

最后,不管小伙伴是单身,还是已有那个她,思海同学,在今天这个幸福的日子里,都祝大家,不管是今天,还是明天,希望小伙伴们的每一天的生活都能快快乐乐的。

原文发布于微信公众号 - 好好学java(SIHAIloveJAVA)

原文发表时间:2018-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏听雨堂

MapX中取得图元操作的速度测试

        最常见的操作,是取得图层中的某个图元。假如需要根据一个属性(无重复)来获得图元的话,发现速度相差极大。 遍历比较是最慢的。 用图层的search...

1926
来自专栏吾爱乐享

php学习之html的标签属性(二)

1212
来自专栏智能大石头

GridView绑定小技

1,使用表达式。如下,缺货的产品用红色,别的绿色。 ? ? 实际上,就这个表达式: (Int32)Eval("Num")<(Int32)Eval("MinNum...

1968
来自专栏腾讯NEXT学位

这些 CSS 命名规范将省下你大把调试时间(文末有福利)

36410
来自专栏程序员的诗和远方

20180818_ARTS_week08

这道题是要把字符串中的数字变成 int,通常的做法是遍历字符串,然后判断是不是在 0~9 中,如果把 0~9 放数组里每次循环检查感觉不是太好,时间复杂度是个 ...

581
来自专栏hrscy

Unity - 在鼠标点击的位置放置对象

你可以使用函数实例化多个给定的游戏对象或预制对象。 Instantiate (Object Target, object’s position, object...

1352
来自专栏向治洪

iOS 滚动视图的复用问题解决方案

##LazyScroll是什么 LazyScrollView 继承自ScrollView,目标是解决异构(与TableView的同构对比)滚动视图的复用回收问题...

21510
来自专栏向治洪

iOS 滚动视图的复用问题解决方案

LazyScroll是什么 LazyScrollView 继承自ScrollView,目标是解决异构(与TableView的同构对比)滚动视图的复用回收问题。它...

1756
来自专栏web编程技术分享

js学习: 自定义类库 - miniQuery 2.0

2877
来自专栏小灰灰

cocos2dx-v3.4 2048(四):游戏逻辑的设计与实现

前言 ---- 2048的游戏逻辑比较简单,向四个方向移动单元格,若相邻的单元格数字相同,则合并成一个新的单元格,且数字为之前的两倍;若不同,则移动到目的方向上...

3006

扫码关注云+社区