1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 谢尔宾斯基三角形

谢尔宾斯基三角形

时间:2020-06-04 20:23:25

相关推荐

谢尔宾斯基三角形

0706 谢尔宾斯基三角形

我自认为自己是一个编程新手。我是一个不怎么有耐心,自制力又有点差的人。平常做什么事,没有人督促的话很难坚持到底。也许是因为这个原因,在学习上有没有下什么苦功夫,靠一些小聪明,算是顺利的来到了大二。

这种情况有了改变,还是在这一学期,在听过一个交流会之后,迷茫的我突然找到了方向。知道了自己应该做什么,近期的目标就是想学到一些东西,不想再做一个编程上的无知者。

我不太喜欢定什么目标,我比较喜欢走一步看一步,因为我始终相信,计划赶不上变化,我相信,只要做好自己手头上的事情,有什么理由不成功呢?

所以从什么都不知道,到现在可以通过自己的努力做出一些简单的东西,我仍旧感到很有成就感。

以下是谢尔宾斯基三角形的代码:

package dyh0706;import java.awt.Graphics;import javax.swing.JFrame;public class Triangle extends JFrame{public static void main(String[] args) {//实例化一个 窗体的类Triangle dmb=new Triangle();//调用界面初始化方法dmb.initGUI();}//定义界面初始化的方法public void initGUI(){//定义窗体的属性this.setTitle("递归画三角形");this.setLocation(300,150);this.setSize(500, 500);this.setResizable(true);this.setDefaultCloseOperation(3);this.setVisible(true);//窗体可见之后,在窗体上添加画布对象Graphics g=this.getGraphics();triListener tl =new triListener(g);this.addMouseListener(tl);}}

以下是监听器的代码:

package dyh0706;import java.awt.Graphics;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;public class triListener implements MouseListener{private Graphics g;public triListener(Graphics g){this.g=g;}@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mousePressed(MouseEvent e) {double x1=200;double y1=100;double x2,y2,x3,y3;int a1,b1,a2,b2,a3,b3;x2=x1-150;y2=y1+150*Math.sqrt(3);x3=x1+150;y3=y1+150*Math.sqrt(3);a1=(int)x1;b1=(int)y1;a2=(int)x2;b2=(int)y2;a3=(int)x3;b3=(int)y3;g.drawLine(a1,b1,a2,b2);g.drawLine(a2,b2,a3,b3);g.drawLine(a1,b1,a3,b3);draw(a1,b1,a2,b2,a3,b3,6);}//定义一个画三角形的方法public void draw(int X1,int Y1,int X2,int Y2,int X3,int Y3,int count){int A1,B1,A2,B2,A3,B3;if(count>0){count--;A1=(X1+X2)/2;B1=(Y1+Y2)/2;A2=(X2+X3)/2;B2=(Y2+Y3)/2;A3=(X1+X3)/2;B3=(Y1+Y3)/2;g.drawLine(A1, B1, A2, B2);g.drawLine(A2, B2, A3, B3);g.drawLine(A1, B1, A3, B3);this.draw(X1, Y1, A1, B1, A3, B3, count);//this.draw(X2, Y2, A1, B1, A2, B2, count);//this.draw(X3, Y3, A2, B2, A3, B3, count);}else{return;}}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。