小球抛体JAVA课程
山东交通学院
JAVA课程设计
抛体运动
院(系)别 信息工程系
班 级
学 号
姓 名
指导教师 时 间 2010-09-13—2010-09-24
课 程 设 计 任 务 书
题 目 抛体运动
系 (部) 信 息 工 程 系 专 业 计 算 机 信 息 与 技 术 班 级 学生姓名 学 号
09 月 23 日至 09 月 24 日 共 2 周
指导教师(签字)
系 主 任(签字)
年 月 日
一、 设计内容及要求
要求:在小应用程序的主线程中有两个线程,一个负责模仿垂直上抛运动,
另一个模仿45度的抛体运动。要求:能用曲线动态演示。 二、 设计原始资料
《Java程序设计使用
》
三、设计完成后提交的文件和图
1(计算说明书部分
2(图纸部分:
程序流程图
四、进程安排
前两天完成对程序的需求分析,理清程序设计的思路
第三天开始编写程序,完成对程序的总体设计
第二周完成对程序的详细设计,并测试程序
周末完成课程设计报告
五、主要参考资料
[1] 《Java程序设计使用教程》 陈勇孝、郎洪、马春龙主编,清华大学出版社出版
[2] 《Java语言程序设计基础篇》 Y.Daniel Liang著 王镁 新夫 李娜等译,机械工业出版社出版
[3] 《Java程序设计》 贾素玲、王强主编,清华大学出版社出版
成 绩 评 定 表
作品成绩 报告成绩 口试(答辩)成总评成绩
绩
目 录
1 Java软件概述 ................................................................................................................... 1 2 抛体运动总体设计 ............................................................................................................ 2 2.1 抛体运动总体设计思想 ............................................................................................. 2 2.2 抛体运动功能 ............................................................................................................ 2 2.3 总体设计流程图......................................................................................................... 2 3 详细程序代码 .................................................................................................................... 3 3.1 版面设计代码 ............................................................................................................ 3 3.2 线程start调用的run方法,实现两个小球运动代码 ............................................... 4 3.3 “start”和“end”两个按钮映射函数代码 ................................................................ 5 4 程序测试 ............................................................................................................................ 6 4.1 初始图片 .................................................................................................................... 6 4.2 运动过程(1) .......................................................................................................... 7 4.3 运动过程(2) .......................................................................................................... 8 4.4 运动过程(3) .......................................................................................................... 9 设计体会 ................................................................................................................................. 10 参考文献 ................................................................................................................................. 11
摘要
私達の実践の能力を高めるため、学んだ知識を運用することができて行って更に創造して、学校は特に2週間手配して、私達にVisual C++の課程の設計の実習を行わせます.
このフ?イルの詳しい説明はJava環境の下で、,つのソフトウェ?の過程を設計して、このソフトウェ?は各種のデータの個数を統計したのです。
このソフトウェ?の機能は、ユーザーは1段の文字を入力して、ソフトウェ?は文字の中の各類のデータの数を記録して、英文のデータの数、数字のデータの数、空欄のデータの数とそれのタイプのデータの数を含んで、そしてそれらを明らかに示します.
以下、課程を通して説明を設計して、データはソフトウェ?の説明を統計して、プログラムは説明を調整して、総括などの方面を開発して、詳しくこのプログラムの製作の過程を説明して、作用、各種の実行することができる操作.
关键字:データの統計,Java, ヘッドフ?イル
1 Java软件概述
Java是一种与平台无关的、安全性可靠的、真正的面对对象的网络程序设计语言。正如微软总裁比尔.盖茨所说:“Java是长时间以来最卓越的程序设计语言”,并因此确定了微软的整个软件开发的战略从PC单击时代向着以网络为中心的计算时代转移。甚至有人预言:Java将是网络上的“世界语”,今后所有的用其他语言编写的软件统统要用Java语言来改写。工业界不少人预言:“Java语言的出现,将会引起一场软件革命。”由于Java语言符合了互联网时代的发展需求,是各类软件开发人员能更容易地选择多种平台来使用Java语言编程,为Java语言的应用开拓了极为广阔的前景,使它获得了巨大的成功。
Java语言特点:
(1)面向对象
(2)简单
(3)安全
(4)体系结构中立和可移植性
(5)多线程
(6)解释执行和高性能
(7)分布式
1
2 抛体运动总体设计
2.1 抛体运动总体设计思想
在小应用程序的主线程中有两个线程,一个负责模仿垂直上抛运动,另一个模仿45
度的抛体运动。
2.2 抛体运动功能
能用动态演示一个负责模仿垂直上抛运动,另一个模仿45度的抛体运动的小球运动
状态和过程,最后汇合在一起
2.3 总体设计流程图
程序开始
静态小球
面
退
出
垂45
直度
上抛
抛 体
开
始
图2-1 总体设计流程
2
3 详细程序代码
3.1 版面设计代码
class Movement extends JFrame implements Runnable,ActionListener{
Thread RedBall,BlueBall;
Ball red,blue;
JButton Start=new JButton("start");
JButton End=new JButton("end");
boolean Run=false;
boolean starting=true;
double t=12;
Movement(){
RedBall=new Thread(this);
red=new Ball(Color.red);
BlueBall=new Thread(this);
blue=new Ball(Color.blue);
setLayout(null);
add(Start);
add(End);
add(red);
add(blue);
red.setLocation(50,100);
blue.setLocation(50,100);
Start.setActionCommand("Start");
Start.setBounds(305,370,70,40);
Start.addActionListener(this);
End.setActionCommand("End");
End.setBounds(375,370,70,40);
End.addActionListener(this);
}
3
3.2 线程start调用的run方法,实现两个小球运动代码
public void run(){
while(true){
while(Run)
Stop();
t=t-0.2;
if(t<0) t=12;
if(Thread.currentThread()==RedBall){
int x=50;
int y=(int)(1.0/2*t*t*3.8)+50;
red.setLocation(x,y);
try{
Thread.sleep(45);
}
catch (InterruptedException e){
e.printStackTrace();
}
}
else if(Thread.currentThread()==BlueBall){
int x=50+(int)(26*t);
int y=(int)(1.0/2*t*t*3.8)+50;
blue.setLocation(x,y);
try {
Thread.sleep(45);
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}
4
3.3 “start”和“end”两个按钮映射函数代码
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
if(cmd.equals("Start")){
Start.setActionCommand("Stop");
if(starting){
BlueBall.start();
RedBall.start();
starting=false;
}
else{
renew();
Run=false;
}
}
else if(cmd.equals("End")){
Run=false;
this.dispose();
System.exit(0);
}
else if(cmd.equals("Stop")){
Start.setText("start");
Start.setActionCommand("Start");
Run=true;
}
}
public synchronized void renew(){
notifyAll();
}
public synchronized void Stop(){
try{
wait();
}catch(InterruptedException e){
e.printStackTrace();
}
}
}
5
4 程序测试
4.1 初始图片
图4-1 初始图片
此图为初始小球图片,说明此过程是小球运动,上面的start键是用来实现开始
和暂停的功能,点一次开始,再点就是暂停,可以随时中断小球的运动,end键为终止
退出键。
6
4.2 运动过程(1)
图4-2 刚运动界面
如上图所示,改界面是刚开始运动初期界面,红球为垂直上抛运动,蓝球模仿的是45度抛体运动。
7
4.3 运动过程(2)
图4-3 运动过程中
如上图所示,该界面为运动一小段期间的图片,其中发现红蓝两球交替上升的快,
是因为线程交替运行的缘故。
8
4.4 运动过程(3)
图4-4 终点状态
如上图所示,该界面为两个小球运动到最后的状态,两个小球汇合在一起。
9
设计体会
为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的Java课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。
在此次字符统计程序开发过程中,有很多东西值得我们思考并总结。
开发过程大体可分为以下几个步骤:
(1)思考总体设计
:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块和其中用到的Java语言基本操作符、语句等。
(2)画出总体设计方案流程图:用流程图的形式展现你的基本编程思想。
(3)流程图具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现(并想好实现的关键代码。
(4)编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进(如何实现各函数功能,达到预期效果也将是一项繁复的工作。
(5)代码的调试:在jdk环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。
(6)最后修饰:程序可以正确运行之后,再不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化(增强程序的新意与可行性。
通过这次课程设计,使我们更加熟悉的掌握了Java语言的运用。帮助我们熟悉了更多Java语言的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验(同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。
10
参考文献
[1] 《Java程序设计使用教程》 陈勇孝、郎洪、马春龙主编,清华大学出版社出版 [2] 《Java语言程序设计基础篇》 Y.Daniel Liang著 王镁 新夫 李娜等译,机械工业出版社出版
[3] 《Java程序设计》 贾素玲、王强主编,清华大学出版社出版
11