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

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 特别的520,送给特别的你们,还不来看看?

点击上方“好好学java”,选择“置顶公众号”

优秀学习资源、干货第一时间送达!

好好学java

java知识分享/学习资源免费分享

关注

 精彩内容 

咦,今天好像是一个不错的日子哇,520?没错。如果今天有小伙伴要表白,那小编可要给你出谋划策了。

先来个开场白吧,献上一首专属java工程师的小诗,说不定你就找到了那个她哦。

我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载对你的思念... 也许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}  

运行效果如下:

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

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

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

附上热门QQ群,存放资源和历史资料,500容量(低门槛付费群),长按二维码入群

                                                   长按二维码关注

原文地址:https://sihai.blog.csdn.net/article/details/109464800

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> 特别的520,送给特别的你们,还不来看看?


 上一篇
mysql——java.lang.ClassCastException—— java.base,java.math.BigInteger出现类型转换错误 mysql——java.lang.ClassCastException—— java.base,java.math.BigInteger出现类型转换错误
一.错误信息 mysql:java.lang.ClassCastException: java.base/java.math.BigInteger cannot be 二.解决方法这个就是因为你用的mysql的数据库和mysql的连接的
2021-04-04
下一篇 
并发基础篇(六)——线程Thread类的start()方法和run()方法 并发基础篇(六)——线程Thread类的start()方法和run()方法
点个赞,看一看,好习惯!本文 GitHub 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本人已拿大厂 offer。 另外,原创文章首发在我的个人博客:,欢迎访问。 一、初识java的线程是通过 java.lan
2021-04-04