JAVA课程设计报告材料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java面向对象程序设计》课程设计报告
(2013— 2014学年第一学期)
专业:软件服务
班级:二班
姓名:
学号:1207132208
指导教师:
成绩:
计算机与信息工程学院
2014 年 1 月17 日
目录
目的 (1)
条状图 (1)
虐待鼠标 (5)
挂钟 (8)
绘图程序 (13)
目的
本课程是软件工程、信息技术外包专业所开设的一门重要实践课程,主要要求学生掌握Java语言和面向对象在实践中的应用。本课程设计的目的是使学生在理论学习的基础上,动手编写程序,通过应用所学习的知识,来解决一些实际的问题。在此基础上,真正理解和掌握Java面向对象程序设计的相关理论,具备程序设计的能力。
条状图
一、设计内容
设计实现一个应用程序,创建一个条状图,用于查看一组JA V A成绩的分布情况。程序初始化一组0-100的整数,根据整数值进行分类,通过调用fillRect 方法绘图。
二、方案设计与论证
1.随机产生10个整数,范围在0到100之间。
2.将这十个数分5种水平累加。累加的数值大小的十倍即为条状图的长度。
3.调用fillRect方法绘图。
三、程序运行结果(截图)
四、心得体会
1.在规定条状图大小位置较麻烦。
2.在BarChart类中一直出现不匹配的问题。解决方法:将for循环移入paintComponent()方法中。
3. 为了代码的严谨性,在BarChart类中增添了构造方法,在构造方法中初始化了背景色和面板大小,规定了条状图的大小。
五、参考资料与致谢
参考Java书本4.6图形对象中的例题4.5的格式。
六、源程序
1.Bar.java
import javax.swing.JFrame;
public class Bar
{
//-----------------------------------------------------------------// Creates the main program frame.
//-----------------------------------------------------------------public static void main (String[] args)
{
JFrame frame = new JFrame ("Bar Chart");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
BarChart panel = new BarChart();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}
2.BarChart.java
import javax.swing.JPanel;
import java.awt.*;
import java.util.Random;
public class BarChart extends JPanel
{
Random generator = new Random();
int score;
int l1 ;
i nt l2 ;
i nt l3 ;
i nt l4 ;
i nt l5 ;
public BarChart()
{
setBackground (Color.cyan);
setPreferredSize (new Dimension(400, 300)); }
public void paintComponent (Graphics page)
{
super.paintComponent(page);
for (int i = 0 ; i <10 ; i++)
{
score = generator.nextInt(101);
if(score>= 91 && score<=100)
l1++;
if(score>= 81 && score<=90)
l2++;
if(score>= 71 && score<=80)
l3++;
if(score>= 60 && score<=70)
l4++;
if(score>= 0 && score<=59)
l5++;
}
page.setColor(Color.lightGray);
page.fillRect(150,50,155,110);
page.setColor(Color.black);
page.drawLine(180, 50, 180, 160);
page.drawLine(210, 50, 210, 160);
page.drawLine(240, 50, 240, 160);
page.drawLine(270, 50, 270, 160);
page.drawString("0", 150, 170);
page.drawString("2", 180, 170);
page.drawString("4", 210, 170);
page.drawString("6", 240, 170);
page.drawString("8", 270, 170);
page.drawString("10", 300, 170);
page.setColor(Color.magenta);
page.fillRect(150,60,l1*10,10);
page.setColor(Color.magenta);
page.fillRect(150,80,l2*10,10);
page.setColor(Color.magenta);
page.fillRect(150,100,l3*10,10);
page.setColor(Color.magenta);
page.fillRect(150,120,l4*10,10);
page.setColor(Color.magenta);
page.fillRect(150,140,l5*10,10);
page.setColor(Color.black);
page.drawString("91到100", 100, 67);
page.drawString("81到90", 100, 87);
page.drawString("71到80", 100, 108);
page.drawString("60到70", 100, 130);
page.drawString("0到59", 100, 155);
}
}