JAVA语言程序设计课程设计报告模板及范文

合集下载

java课程设计范例

java课程设计范例

java课程设计范例一、教学目标本节课的教学目标是让学习者掌握Java编程语言的基本语法、流程控制语句以及简单的数据结构。

通过本节课的学习,学生将能够:1.理解Java语言的基本语法,包括数据类型、变量、运算符等。

2.掌握Java的流程控制语句,包括条件语句、循环语句等。

3.熟悉Java的基本数据结构,包括数组、链表、栈和队列等。

4.能够运用Java语言编写简单的程序,实现基本的算法。

二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法:介绍Java语言的数据类型、变量、运算符等基本语法规则。

2.流程控制语句:讲解条件语句、循环语句等流程控制语句的用法和意义。

3.基本数据结构:介绍Java中的数组、链表、栈和队列等基本数据结构及其应用。

4.编程实践:通过编写简单的Java程序,使学生能够将所学知识应用于实际问题的解决中。

三、教学方法为了达到本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解Java语言的基本语法、流程控制语句和基本数据结构,使学生能够理解和掌握相关知识。

2.案例分析法:通过分析具体的Java程序案例,使学生能够了解和掌握Java语言的应用方法。

3.实验法:让学生通过编写和运行Java程序,亲自体验和掌握Java语言的语法和编程技巧。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程语言》等与本节课内容相关的教材和参考书。

2.多媒体资料:通过PPT等多媒体形式,生动、形象地展示Java语言的基本语法、流程控制语句和基本数据结构。

3.实验设备:为学生提供必要的计算机和网络环境,让他们能够编写和运行Java程序。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下几种评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估他们的学习态度和理解能力。

2.作业:布置与课程内容相关的作业,评估学生对知识点的掌握程度和编程能力。

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告篇一:Java实验八报告《Java语言程序设计》实验报告学生姓名:郭倩班级:信息112学号:201152275208实验地点:经管实验中心证券实验室指导教师:赵利平实验日期:实验环境:Windows 2000+JDK1.61. 实验目的(1)理解子类派生的概念(2)学习创建子类对象(3)掌握方法覆盖的使用2.实验内容(1)设计三个类:完成实验教材P52页程序清单4-2;(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;2. 实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。

实验内容(1)://Polymorphism.abstract class Student{final static int CourseNo=3;String name;String type;int[] courses;String courseGrade;public Student(String name){=name;courses=new int[CourseNo];courseGrade=null;}public abstract void calculateGrade();public String getName(){return name;}public String getType(){return type;}public String getCourseGrade(){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){=name;}public void setType(String type){this.type=type;}public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;}}class Undergraduate extends Student{public Undergraduate(String name){super(name);type="本科生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";}}class Postgraduate extends Student{public Postgraduate(String name){super(name);type="研究生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好"else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";}}public class Polymorphism{public static void main(String[] args){Student[] students=new Student[5];students[0]=new Undergraduate("陈建平");students[1]=new Undergraduate("鲁向东");students[2]=new Postgraduate("匡晓华");students[3]=new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣");for(int i=0;i<5;i++){students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for(int i=0;i<5;i++){students[i].calculateGrade();}System.out.println("姓名"+" 类型"+" 成绩");}}System.out.println("-------------------------"); for(int i=0;i<5;i++){ System.out.println(students[i].getName()+" "+students[i].getType()+" "+students[i].getCourseGrade()); }(1) 都有(2) Student[] students=new Student[5];(3) Student是抽象的,不能用new操作符创建抽象类的实例。

JAVA语言程序设计课程设计报告模板及范文

JAVA语言程序设计课程设计报告模板及范文

JAVA语言程序设计课程设计报告模板及范文级:学号:姓名:2021 年7月中文摘要摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。

JAVA不仅可以用来开发大型的应用程序。

而且特别适合Inter的应用开发。

JAVA确实具备“一次写成,处处运行”的特点,JAVA以成为网络时代最重要的编程语言之一。

本报告中介绍了用JAVA语言实现画笔系统的全部过程。

本次课程设计是配合JAVA程序设计课程,帮助我们深入学习掌握JAVA语言,熟练运用这个工具来编写的。

通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。

本课程设计尝试使用一些较生动的示例和设计项目,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。

本次课程设计主要是用JAVA实现画笔系统,其系统主要完成以下功能:设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。

过程中能够修改该画笔的大小以及颜色。

该画图程序还需具有橡皮擦功能以及清空整个画面的功能关键词:画笔系统,JAVA目录中文摘要2目录31、绪论42、开发环境介绍43、需求分析53、1总体目标53、2要实现的功能64、概要设计64、1设计准备64、2需用到的类75、详细设计75、1类的设计75、2类的方法介绍86、测试数据及运行结果107、总结118、参考文献119、源程序121、绪论Java不依赖平台的特点使它受到广泛的关注,Java 已成为网络时代最重要的语言之一。

目前,Java语言不仅是一门被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。

因为很多新的技术领域都涉及到Java语言,国内外许多大学已将Java语言列入本科教学计划,而IT行业对Java 人才的需求也在不断的增长,因此,掌握Java已经成为共识。

java课程设计报告【范本模板】

java课程设计报告【范本模板】

南京晓庄学院《JAVA程序设计》课程设计报告题目: ATM系统的设计与实现姓名:黄强学号:14131609班级: 14计算机转本2班指导教师:徐家喜完成时间成绩:信息工程学院2017年6月目录1摘要 (1)1.1系统开发背景 (1)1。

2系统开发的目的和意义 (2)1。

3完成的主要工作 (2)2需求分析和总体设计 (3)2.1需求分析与设计思路 (3)2。

1.1关键技术说明 (3)2。

1.2需求分析 (3)2.1.3系统设计方案与思路 (3)2。

1.4系统目录结构说明 (4)2。

2系统功能结构 (5)2.3数据库设计 (6)3详细设计 (7)3.1系统模块实现 (7)3。

1.1ATM主界面实现 (7)4系统运行结果 (11)5课程设计总结 (12)模拟ATM系统的设计与实现1摘要1.1系统开发背景随着Internet网络的迅速发展,作为电子商务的ATM自动取款系统以其方便、快捷和高效的优势,逐步成为新兴电子商务的经营模式和理念,人们已经不再是只满足于低效率的排队等待,而是渴望能充分享受网络所带来的更多的便利.ATM自动取款系统恰恰适应了如今的快节奏生活。

本文以实际ATM取款应用为北京,阐述了系统开发过程的开发方法、系统分析以及一般步骤。

本ATM系统的目的就是建立一个客户平台,用户使用此平台进行查询余额、存款、取款、转账、等业务办理。

相对于柜员操作一样的,不过ATM系统有的功能有权限设置,一些功能只有银行柜员才能进行的业务办理。

ATM取款系统的针对的用户群是使用此软件系统的用户,用户做为系统的服务群体,可以使用数据库已有的账号与密码,登陆ATM系统。

当用户成功登陆后就可以根据用户的需求进行各项业务的办理,办理完所有的手续后,用户的输入的新资料以及办理的业务处理后的信息都会反馈到数据库并且都会存入到数据库中。

这样用户就完成了办理业务。

关键词:ATM;MySQL; Java;1.2系统开发的目的和意义随着信息时代科技的飞速发展,使用ATM取款机、计算机等技术的发展,不仅提高了工作效率,而且大大的提高了其安全性。

Java课程设计报告【模板】

Java课程设计报告【模板】

课程设计报告设计题目: Java课程设计专业计算机科学与技术班级 101学号 201016021127学生姓名李贵云指导教师布瑞琴起至时间 12.16~12.23教师评分2011年月日目录1.概述1.1目的这学期我们学习了Java语言,Java语言是面向对象的开发方法,是当今世界最流行的开发方法,是当今流行的网络编程语言。

它具有面向对象、跨平台、分布应用等特点。

它不仅具有贴近自然的语言,而且有利于软件的维护和继承。

是很多程序开发人员的第一选择。

为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。

让学生自己动手动脑,将书本上的知识运用到实践当中去,使知识能更好的融会贯通。

为了达到这个目的,我们需要自己动手做一个Java的课程设计,在这个课程设计里需要根据我们手中现有的软件与知识基础,独立的将它完成,只有这样,我们才能把理论变成实践,将知识真正的做到学以致用。

1.2课程设计的组成部分课程设计报告的构成包括:(1)前置部分:封面、目录页;(2)主体部分:引言(设计目的、任务与要求等)、正文、结果、项目开发中遇到的困难及解决、体会、参考文献。

2.李贵云设计的内容2.1设计题目题目四:ATM柜员机模拟程序:对某帐号进行查询、取款、存款、查询余额。

2.2具体任务类的创建,构造成员变量和成员方法,生成对象,方法的调用等。

2.3软件环境JCreator Pro v4.02.4流程图2.5程序源代码import java.io.*;class Account {private String code =null;private String name =null;private String password=null;private double money =0.0;public Account(String code,String name,String password,double money){this.code=code;=name;this.password=password;this.money=money;}protected String get_Code() {return code;}protected String get_Name() {return name;}protected String get_Password() {return password;}public double get_Money() {return money;}protected void set_Balance(double mon) { money -= mon;}}class ATM {Account act;public ATM() {act=new Account("000000","Devil","123456",50000);}protected void Welcome(){String str="---------------------------------";System.out.print(str+"\n"+"欢迎使用Angel模拟自动取款机程序.\n"+str+"\n"); System.out.print(" 1.>取款."+"\n"+" 2.>查询信息."+"\n"+" 3.>密码设置."+"\n"+" 4.>退出系统."+"\n");}protected void Load_Sys() throws Exception{String card,pwd;int counter=0;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));do {System.out.println("请输入您的信用卡号:");card=br.readLine();System.out.println("请输入您的密码:");pwd=br.readLine();if(!isRight(card,pwd)){System.out.println("您的卡号或密码输入有误.");counter++;}elseSysOpter();}while(counter<3);Lock_Sys();}protected void SysOpter() throws Exception{int num;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));System.out.println("请选择您要操作的项目(1-4):");num=br.read();switch(num) {case 49: BetBalance(); break;case 50: Inqu_Info(); break;case 51: Set_Password(); break;case 52: Exit_Sys(); break;}System.exit(1);}protected void Inqu_Info() {System.out.print("---------------------\n"+act.get_Code()+"\n"+act.get_Name()+"\n"+act.get_Money()+"\n"+"-----------------------");}public void BetBalance() throws Exception{String str=null,str1;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));do {System.out.println("请输入您要取的数目:");str=br.readLine();str1=String.valueOf(act.get_Money());if(pareTo(str1)>0) {System.out.println("超过已有的钱数,请重新输入您要取的数目:");}else {System.out.println("取款成功,请收好您的钱.");Welcome();SysOpter();}}while(true);}protected boolean isBalance() {if(act.get_Money()<0) {return false;}return true;}protected boolean isRight(String card,String pwd){if(act.get_Code().equals(card) && act.get_Password().equals(pwd))return true;elsereturn false;}protected void Set_Password() throws Exception{String pwd=null;int counter=0;BufferedReader br=new BufferedReader(new InputStreamReader(System.in));do {System.out.println("请输入旧密码:");pwd=br.readLine();if(act.get_Password().equals(pwd)){do {System.out.println("请输入新密码:");String pwd1=br.readLine();System.out.println("请再次输入新密码:");String pwd2=br.readLine();if(!pwd1.equals(pwd2)){System.out.println("两次输入不一致,请再次输入.");}else{System.out.println("密码修改成功,请使用新密码."); Welcome();SysOpter();}}while(true);}}while(counter>3);}protected void Lock_Sys() {System.out.println("对不起,您的操作有误,卡已被没收.");System.exit(1);}protected void Exit_Sys() {System.out.println("感谢您使用本系统,欢迎下次在来,再见!");System.exit(1);}}public class Text{public static void main(String[] args) throws Exception {ATM atm=new ATM();atm.Welcome();atm.Load_Sys();}}2.6运行结果3.总结在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。

JAVA语言课程设计报告

JAVA语言课程设计报告

JAVA语言课程设计报告目录1. 课程设计介绍 (2)1.1 课程设计的目的和意义 (2)1.2 实验环境介绍 (3)2. 课程设计项目概述 (4)2.1 项目背景及设立的目的 (5)2.2 用户需求分析 (6)2.3 功能模块划分 (7)3. Java语言基础知识回顾 (7)3.1 Java程序的基础概述 (8)3.2 Java开发环境搭建 (9)3.3 基本语法及常用数据类型 (10)3.4 类与对象的基本知识 (11)3.5 常用API介绍 (11)4. 项目开发过程 (11)4.1 设计方案 (13)4.2 项目需求分析 (14)5. 课程设计关键技术应用 (15)5.1 错误处理机制 (16)5.2 数据库应用 (17)6. 类库及设计模式的应用 (17)6.1 Java类库的基础知识 (19)6.2 设计模式的功能与应用 (20)7. 课程设计总结与展望 (21)7.1 课程设计总结 (22)7.2 缺陷分析与解决方案 (23)7.3 课程设计展望 (23)1. 课程设计介绍本课程设计旨在通过实际项目实践,让学生深入理解和掌握语言的核心编程技能和设计思想。

本次设计选择了一个具有实际应用背景的项目作为案例,即“简易在线考试系统”。

该系统旨在模拟现实中的在线考试流程,实现考生在线答题、自动评分、成绩查询等功能。

本次课程设计以语言为基础,结合框架、数据库等技术,引导学生从需求分析、系统设计、编码实现到系统测试的完整软件开发流程。

通过本课程设计,学生能够:在本次课程设计中,学生将独立完成系统需求分析、系统设计、编码实现、测试与优化等环节,最终提交一个功能完善、性能稳定的在线考试系统。

通过这一过程,学生不仅能够巩固和提升自身的编程能力,还能培养解决实际问题的能力和创新思维。

1.1 课程设计的目的和意义课程设计目的在于深入理解语言的核心概念与实际应用,通过具体的项目实施巩固和应用课堂上所学的知识点。

java课程设计范文

java课程设计范文一、教学目标本节课的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握Java语言的基本语法、数据类型、控制结构等;技能目标要求学生能够运用Java语言编写简单的程序,解决实际问题;情感态度价值观目标要求学生培养编程兴趣,树立信心,克服困难,积极合作。

通过分析课程性质、学生特点和教学要求,明确课程目标,将目标分解为具体的学习成果,以便后续的教学设计和评估。

二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。

本节课的教学内容主要包括Java语言的基本语法、数据类型、控制结构。

具体安排如下:1.介绍Java语言的背景和发展历程,使学生了解Java语言的应用领域和优势。

2.讲解Java数据类型,包括整型、浮点型、布尔型等,让学生掌握不同数据类型的特点和用法。

3.介绍Java的控制结构,包括条件语句、循环语句等,使学生能够熟练运用控制结构编写程序。

4.通过案例演示和编程实践,让学生学会运用Java语言解决实际问题。

三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,通过教学方法应多样化,以激发学生的学习兴趣和主动性。

具体教学方法如下:1.讲授法:讲解Java语言的基本语法、数据类型和控制结构,让学生掌握理论知识。

2.讨论法:学生分组讨论,分享学习心得和编程经验,促进学生之间的交流与合作。

3.案例分析法:通过分析实际案例,让学生学会运用Java语言解决实际问题。

4.实验法:安排编程实践,让学生在实际操作中巩固所学知识,提高编程能力。

四、教学资源选择和准备适当的教学资源,包括教材、参考书、多媒体资料、实验设备等。

教学资源应该能够支持教学内容和教学方法的实施,丰富学生的学习体验。

具体教学资源如下:1.教材:选用权威、实用的Java编程教材,为学生提供系统的学习资料。

2.参考书:推荐学生阅读一些优秀的Java编程书籍,拓展知识面。

3.多媒体资料:制作精美的PPT课件,为学生提供直观的学习界面。

Java课程设计报告模版

《Java程序设计》
课程设计报告
题目 Windows操作系统计算器的
模拟实现
院系
年级班级
学号
学生姓名
指导教师
年月日
目录
一、课程设计目的、任务及要求 (1)
二、设计思路 (2)
三、详细设计 (3)
四、运行调试与分析 (4)
五、设计小结 (5)
一、课程设计目的、任务及要求
课程设计目的:
1、熟练掌握Java的swing组件或awt组件。

2、熟练掌握事件处理的方法。

课程设计任务及要求:
使用swing组件或awt组件(推荐使用swing组件)模拟实现Windows 操作系统的计算器。

具体要求如下:
1、该计算器可以进行简单的十进制数据的四则运算(加、减、乘、除)
2、该计算器可以进行二进制、八进制、十进制、十六进制之间的相互
转换。

(选做)
3、该计算器可以实现求阶乘、平方、立方、n次方、绝对值、正弦、
余弦、正切等运算。

(选做)
设计环境:
Java SE Development Kit
二、设计思路
字体为宋体小四号字,行间距为多倍1.5。

以下同.
三、详细设计
四、运行调试与分析
五、设计小结。

JAVA课程设计报告书模板

6
import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.Transferable; import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JButton; import javax.swing.JColorChooser; import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField;

java课程设计及实验报告

java课程设计及实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、面向对象编程思想以及常用的数据结构与算法。

通过课程的学习,使学生能够独立完成简单的Java程序,培养学生的编程能力和逻辑思维能力。

具体的教学目标如下:1.知识目标:–掌握Java基本语法和编程规范;–理解面向对象编程的基本概念和方法;–熟悉常用的数据结构(如数组、链表、栈、队列等)和算法(如排序、查找等)。

2.技能目标:–能够使用Java编写简单的程序,解决实际问题;–能够运用面向对象编程思想进行程序设计;–能够运用常用的数据结构与算法解决编程问题。

3.情感态度价值观目标:–培养学生的团队合作意识和沟通能力;–培养学生的创新精神和解决问题的能力;–培养学生的自主学习能力和持续学习的兴趣。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.Java基本语法和编程规范;2.面向对象编程思想,包括类与对象、继承与多态、封装等;3.常用的数据结构与算法,包括数组、链表、栈、队列、排序、查找等;4.Java标准库的使用,包括字符串、数学运算、输入输出等;5.简单的Java编程实例和实战项目。

教学内容的安排和进度如下:•第1-2周:Java基本语法和编程规范;•第3-4周:面向对象编程思想;•第5-6周:常用的数据结构与算法;•第7-8周:Java标准库的使用;•第9-10周:简单的Java编程实例和实战项目。

三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:讲解Java基本语法、面向对象编程思想和常用的数据结构与算法;2.案例分析法:分析实际的编程案例,让学生更好地理解和运用Java编程知识;3.实验法:让学生通过动手实践,巩固所学知识和技能;4.讨论法:学生进行小组讨论,培养学生的团队合作意识和沟通能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java编程思想》;2.参考书:《Java核心技术》、《Head First Java》;3.多媒体资料:教学PPT、视频教程、在线编程练习题等;4.实验设备:计算机、网络环境、编程开发环境(如Eclipse、IntelliJIDEA等)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计题目:仿Windows画笔系统设计专业:计算机科学与技术班级:学号:姓名:2015 年7月中文摘要摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。

JAVA不仅可以用来开发大型的应用程序。

而且特别适合Internet的应用开发。

JAVA确实具备“一次写成,处处运行”的特点,JAVA以成为网络时代最重要的编程语言之一。

本报告中介绍了用JAVA语言实现画笔系统的全部过程。

本次课程设计是配合JAVA程序设计课程,帮助我们深入学习掌握JAVA语言,熟练运用这个工具来编写的。

通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。

本课程设计尝试使用一些较生动的示例和设计项目,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。

本次课程设计主要是用JAVA实现画笔系统,其系统主要完成以下功能:设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。

过程中能够修改该画笔的大小以及颜色。

该画图程序还需具有橡皮擦功能以及清空整个画面的功能关键词:画笔系统,JA V A目录中文摘要 (2)目录 (3)1.绪论 (4)2. 开发环境介绍 (4)3.需求分析 (5)3.1总体目标 (5)3.2要实现的功能 (6)4.概要设计 (6)4.1设计准备 (6)4.2需用到的类 (7)5.详细设计 (7)5.1类的设计 (7)5.2类的方法介绍 (8)6.测试数据及运行结果 (10)7.总结 (11)8.参考文献 (11)9.源程序 (12)1.绪论Java不依赖平台的特点使它受到广泛的关注,Java已成为网络时代最重要的语言之一。

目前,Java语言不仅是一门被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。

因为很多新的技术领域都涉及到Java语言,国内外许多大学已将Java语言列入本科教学计划,而IT行业对Java人才的需求也在不断的增长,因此,掌握Java已经成为共识。

Java是一门说简单也不简单,说难也不难的课程。

所以,我们在学习的过程中要根据自己的具体情况,合理安排编程训练时间,相信编程能力会在不知不觉中得到提高。

在此次的课程设计实践中,我学到了教科书上没有的东西。

这次课程设计,我按照课程设计的要求,分块实现程序的功能。

在实践中我遇到许多的问题,但我都克服,最终我成功的完成了这次课程设计。

从中我充分理解了Java面对对象的特性,并体会到Java与C语言的不同之处在实践的同时,我又从中成长了许多,特别是在对程序的编译和调试中掌握了许多的技巧和方法,为今后的其他计算机语言的学习奠定了一定的基础2. 开发环境介绍该项目所使用的软件开发环境如下:操作系统:Windows xp开发工具:eclipse3.2及其VE插件Eclipse简介Eclipse 是一个开放源代码的、基于Java 的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse 附带了一个标准的插件集,包括Java 开发工具。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。

最初主要用来Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。

许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。

IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。

目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。

Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。

近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。

3.需求分析3.1总体目标设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。

过程中能够修改该画笔的大小以及颜色。

该画图程序还需具有橡皮擦功能以及清空整个画面的功能3.2要实现的功能1、这个画图程序,最基本的功能是,作为一个画笔,能利用它实现在屏幕上任意绘画、书写的功能;2、利用这个画图程序,通过选择画直线、画圆形、画矩形等功能选项并且在屏幕上拖动鼠标操作能实现画出相应图形的功能;3、这个画图程序,还需具备橡皮擦的功能,利用这个橡皮擦能够擦除屏幕上的图案,并且此橡皮擦也应该能够改变大小;4、这个画图程序,还应该做到能够改变画笔颜色的功能;5、这个画图程序,还应该具备能够清除整个屏幕已绘制图画的功能。

4.概要设计4.1设计准备1、此程序为实现这些功能模块,必须首先定义一个工具面板,将这些画笔、画直线、画圆形、画矩形、画笔颜色、画笔大小、橡皮等功能组件放入这个工具面板中。

2、此程序为实现利用鼠标做画笔的功能,必会产生鼠标事件MouseEvent。

因此,为实现鼠标画图的功能,必须用到鼠标触发事件,故在此程序中,必须实现“委托事件模型”,用到事件源、事件对象以及监听者对象。

3、此程序中,必须用到的包如下:import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;import java.awt.geom.*;4.2需用到的类1 )class Point此类用于定义一组数据成员,并且使用构造函数将他们分别初使化,以方便在下面的程序中使用他们。

2)class paintboard此类用于实现这个程序的大部分功能,在这个类中除了定义一些基本变量以及构造函数外,还定义了很多成员方法,这些成员方法将实现鼠标触发事件的一系列绘图功能。

3 )public class PaintBrush这个类是主类,是程序得以运行的入口。

在这个主类中定义了主方法,是该程序执行的入口。

5.详细设计5.1类的设计1) class Point在这个类中定义了用于截断的一系列标志变量,有初始坐标、颜色、工具选择等,并且在这个类中还定义了构造函数Point(int x, int y, Color col, int tool, int boarder),用于完成对这些变量的初始化工作。

2)class paintboard这个类用来实现整个程序的大部分功能,并且在这个类中定义了大部分的成员函数和成员方法,在这个类中用到的主要成员方法如下:Public void paint(Graphics g)public void itemStateChanged(ItemEvent e)public void mouseDragged(MouseEvent e)public void mousePressed(MouseEvent e)public void mouseReleased(MouseEvent e)public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public void mouseClicked(MouseEvent e){}public void mouseMoved(MouseEvent e){}public void actionPerformed(ActionEvent e)5.2类的方法介绍定义的变量:在这个类中,首先定义了画笔的大小、画笔的颜色、画笔的粗细、橡皮的大小、工具的选择等一些变量,并且还用到了系统中自带的一些类初使化了一些面板工具对象,用于完成对面板工具、画直线、画椭圆、画矩形、橡皮擦、清除等一些工具按钮的定义。

初使化构造函数:在这个初使化构造函数中,首先继承了父类Frame,然后初使化了各工具按钮以及各个选择项,包括颜色选择、画笔大小选择、橡皮大小选择,并且将这些组件添加到了工具面板中,最后还对各个组件注册了事件监听者对象。

paint()方法:这个方法主要用于在Applet的界面中显示文字、图形和其它界面元素。

本程序中,在这个方法中,定义了一些工具选项设置,给用户选择画笔、画直线、画圆、橡皮擦等一些功能。

itemStateChanged()方法:这个方法用来实现的功能很简单,主要是用来改变画笔大小、画笔颜色、橡皮大小的。

在此方法中,设置了大小以及颜色的一些预选项,以供用户对大小以及颜色做出选择。

mouseDragged()方法:此方法是处理MouseEvent事件以实现MouseMotionListener接口的对象。

MouseMotionListener是事件监听者,mouseDragged(MouseEvent e)是成员方法,代表鼠标拖动事件,在这个方法中,还用到了MouseEvent类常用成员方法:public int getX()以及public int getY(),用来返回发生鼠标事件的X及Y的坐标。

这个方法中,主要用来控件画笔和橡皮的转换。

mousePressed()方法:此方法是处理MouseEvent事件以实现MouseListener接口的对象。

MouseListener是事件监听者,mouseDPressed(MouseEvent e)是成员方法,代表鼠标按下事件。

这个方法主要用来控件用户画直线、画圆、画矩形这些功能之间的转换。

⑦mouseReleased()方法:mouseEntered()方法:mouseExited()方法:mouseClicked()方法:这些方法和mousePressed()方法属于同一类,他主要用来表示鼠标释放事件,是对上述各个功能完成后对鼠标事件的又一次触发。

6.测试数据及运行结果1、画笔在屏幕上绘画2、改变画笔的粗细3、画直线、画圆、画矩形7.总结此软件基本达到理想效果,在编写这一软件的过程中我学到了很多java编程知识,并学会了如何快速的改正程序中的错误。

相关文档
最新文档