Java趣味编程100例.doc

上传人:一*** 文档编号:573469 上传时间:2018-10-30 格式:DOC 页数:21 大小:371.50KB
返回 下载 相关 举报
Java趣味编程100例.doc_第1页
第1页 / 共21页
Java趣味编程100例.doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《Java趣味编程100例.doc》由会员分享,可在线阅读,更多相关《Java趣味编程100例.doc(21页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.第 1 章 变幻多姿的图表图表简洁直观,在各种场合得到广泛应用,给人以很强的视觉冲击,经常让人难以忘怀。我们的程序中如果能够灵活地应用图表,一定能给我们的程序增色不少。本章将带你进入变换多姿的图表世界,体会图表编程带来的乐趣。1.1 金字塔图案1问题描述打印出金字塔图案,如图 1.1 所示。2问题分析这个问题是一个很经典的循环应用的题目。我们都知道,打印输出的时候,都是从最左端输出,而这里,第一个星号是在中间。这实际是因为星号之前有很多空格。当我们使用问号来表示空格,实际的输出效果应该是图 1.2 的形式。图 1.1 金字塔 图 1.2 金字塔的分析图从图 1.2 分析,我们就可以发现这个题

2、目的奥秘了。(1)确定程序框架从图 1.2 中,我们可以发现,一共需要打印 5 行,而每一行都是打印几个空格,然后再打印几个星号。这样我们就可以写出程序框架了。程序框架代码如下:public class Ch1_1 public static void main(String args) *for(i=1;i余弦曲线测试width=900height=600(6)运行结果把 Ch1_3.java 文件编译后的 Ch1_3.class 文件放到 Ch1_3.html 网页同一目录下,直接用 IE 浏览器打开 Ch1_3.html,运行程序,结果如图 1.6 所示。3扩展训练前面介绍的余弦曲线的绘

3、制,我们看到的是一个完整的静态图形,能否动态地展现绘制的过程?答案是肯定的,我们可以采用线程的方式来实现,参考代码如下:import java.applet.Applet;import java.awt.Color;import java.awt.Graphics;public class donghua_cos extends Applet implements Runnable/通过实现 Runnable 接口实现线程操作int x,y;double a;int xpos=0;Thread runner;boolean painted=false;public void init() /A

4、pplet 创建即启动执行,坐标初始化/ TODO Auto-generated method stubGraphics g=getGraphics(); /画画之前,必须先取得画笔for(x=0;x=750;x+=1) /画 x 轴g.drawString(“,x,200);if(x=385) g.drawString(“,360,x);g.drawString(“Y“,330,20); /画 y 轴for(x=360;x=370;x+=1) /画 y 轴箭头第 1 章 变幻多姿的图表9g.drawString(“,x-10,375-x);g.drawString(“,x,x-355);g.

5、drawString(“X“,735,230);for(x=740;x=750;x+=1) /画 x 轴箭头g.drawString(“,x,x-550);g.drawString(“,x,950-x);public void start() /Applet 创建后自启动方法/ TODO Auto-generated method stubif(runner=null)runner=new Thread(this); /通过 Thread 类来启动 Runnablerunner.start(); /线程启动public void stop() /Applet 生命周期结束后自启动方法/ TOD

6、O Auto-generated method stubif(runner!=null)runner=null; /结束线程public void run() /线程运行方法/ TODO Auto-generated method stubwhile(true)for(xpos=0;xpos900-90;xpos+=3) /循环设置曲线 x 轴坐标边界repaint(); /调用 paint()方法tryThread.sleep(100); /线程休息 100 毫秒catch(InterruptedException e)if(painted)painted=false;public void

7、 paint(Graphics g) /画图方法for(x=0;x=xpos;x+=1) /循环画曲线a=Math.cos(x*Math. PI/180+Math.PI);y=(int)(200+80*a); /放大 80 倍并向下平移 200 个像素g.drawString(“,x,y);Java 趣味编程 100 例10painted=true;1.4 奥运五环旗1问题描述在屏幕上画出奥运五环旗,如图 1.7 所示。2问题分析观察奥运五环旗的图案,直观的感觉,由五个圆组成,每个圆的颜色不一样,大小一样,按照一定的位置摆放,找到圆心坐标的规律,就可以通过 Graphics 类提供的绘制椭圆的

8、方法drawOval()来实现画圆操作。(1)确定程序框架奥运五环旗由五个不同颜色的圆组成,我们可以通过循环依次输出五个圆环。控制台不方便输出图形,这里以 Applet 形式输出。这样我们就可以写出程序框架了,代码如下:public class Ch1_4_3 extends Applet /简单实用为主/paint()方法是由浏览器调用的。每当 Applet 需要刷新的时候都会调用该方法public void paint(Graphics g)for(int i=0;i5;i+)/设置当前圆的颜色/根据圆心坐标画出当前圆(2)圆环的坐标分析分析出圆的圆心坐标是画图的关键,对照图 1.8 标示,分析圆的位置规律。图 1.7 奥运五环旗O

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com