Java程序设计-模块设计报告

合集下载

Java语言程序设计实验报告1

Java语言程序设计实验报告1

《Java语言程序设计》实验报告一学生姓名:孙文琳班级:信息111 学号:201152275119 实验地点:经管中心证券实验室指导教师:赵利平实验日期:2012.3.6实验环境:Windows 2000+JDK1.61.实验目的(1)养成良好的编程风格;(2)掌握字符数据类型及其运算;(3)熟悉从输入对话框获取输入和从控制台获取输入两种方法;(4)掌握布尔运算符;(5)掌握分支语句if和switch。

2.实验内容(1)在控制台下求两个实数的最大值:完成实验教材P22程序清单2-2;(2)3.实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。

实验内容(1)://CompareT woNumbersl.javaimport java.util.Scanner;public class CompareTwoNumbers1{double number1,number2;Scanner scanner;public CompareTwoNumbers1(){System.out.println("请输入两个数字:");scanner=new Scanner(System.in);number1=scanner.nextDouble();number2=scanner.nextDouble();System.out.println("较大的数是:"+(number1>number2?number1:number2));}public static void main(S tring args[]){CompareT woNumbers1 ct=new CompareTwoNumbers1();System.exit(0);}}实验内容(2)://DollarConvertor.javaimport java.util.Scanner;public class DollarConvertor{public static void main(String args[]){ System.out.println("请输入美元数:"); Scanner scanner=new Scanner(System.in); double i=scanner.nextDouble();double result=i*6.2875;System.out.println("对应的人民币数:"+result);} }实验内容(3):public class MultiplyList1{public static void main(String args[]){String output="";for(int row=1;row<=9;row++){for(int col=1;col<=row;col++)output+=col+"*"+row+"="+(row*col)+" ";output+="\n";}System.out.println(output);System.exit(0);}}4.实验总结心得体会:做实验要小心翼翼,注意Java大小区分。

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程序设计》课程设计报告题目: 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设计报告(十道100以内加减法)

java设计报告(十道100以内加减法)

一.设计任务书1.目的1)复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。

提高适应实际,实践编程的能力;3)培养在项目开发中团队合作精神、创新意识及能力。

2.要求1) 对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2)标识符命名遵循Windows命名规范,代码多加注释;3)注意各种可能遇到的异常处理,注重提高程序运行效率;4) 系统设计要实用,编程简练,可用,功能全面;5)尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。

6) 说明书、流程图要清楚;7) 记录设计情况(备查,也为编写设计说明书作好准备);8) 要求采用模块化程序设计方法,及锯齿型书写格式(缩进格式),要求上机调试通过和按设计报告格式;二.本组课题及本人任务1.功能要求该程序用字符界面实现十道100以内加减法数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。

2.界面要求:用字符界面实现、也可用图形界面实现,本次设计采用字符界面形式。

3.本人任务:和团队配合完成了主体代码的设计。

我并对代码做了修改,对代码加入验证部分,防止超过百以内的运算出现。

三.程序功能简介利用字符界面实现了由程序自动随机生成百以内的加减法,并判断用户输入正误,给出最终成绩!四.主体内容1.设计分析;百以内加减法要求加数,被加数,减数,被减数,结果都在100以内,需要对出题结果进行控制;利用循环,完成十次出题,判断,最终给出答案;2.程序结构(画流程图)3.各模块的功能及程序说明;本次选题比较简单,没有涉及过多模块,仅对部分函数做解释说明。

for (int i=0;i<10;i++)控制循环次数,完成十次出题,判断正误;while (f==false)控制算数范围,验证加法和小于100,减法差大于0;a,b为百以内随机数,c随机为0(代表+)和1(代表-),d为运算结果,f是对运算结果验证的布尔值,e起到正确时加一分作用,g传递d与用户输入比较。

Java程序设计实验报告2010

Java程序设计实验报告2010
{ int a,b;
public void setab(inti, int j)
{ a=i; b=j; }
public void printab()
{ int sum=a+b;
System.out.println(“a+b=”+sum);
}
}
//B.java
packagepkg1.pkg2;
public class B
{ Exam3_6 d1=new Exam3_6();
System.out.print(”The current date is(year/month/day):”);
d1.outDate();
System.out.println( );
System.out.print(”Its tomorrow date is(year/month/day):”);
{ A x=new A();
A y=new A();
x.setab(5);
y.setab(10);
System.out.println(“x.a=”+x.geta()+”,y.a=”+y.geta());
x.setb(-5);
y.setb(-10);
System.out.println(“x.b=”+x.getb()+”,y.b=”+y.getb());
Its tomorrow is (year/month/day):2000/1/2
The current date is (year/month/day):2004/1/8
Is tomorrow is (year/month/day):2004/1/9

java web程序设计实验报告

java web程序设计实验报告

java web程序设计实验报告Java Web程序设计实验报告一、引言Java Web程序设计是计算机科学与技术专业中的重要课程之一。

本实验报告旨在总结和分析我在Java Web程序设计实验中的学习和实践经验。

二、实验目的本次实验的主要目的是通过设计和实现一个简单的Java Web应用程序,加深对Java Web技术的理解和应用能力。

具体实验要求包括:使用Java Servlet和JSP 技术实现一个简单的用户注册和登录系统,能够完成用户信息的录入、存储和验证。

三、实验过程1. 环境搭建在开始实验前,我首先搭建了Java Web开发环境。

我选择了Eclipse作为开发工具,并安装了Tomcat服务器作为Web容器。

同时,我还配置了MySQL数据库,用于存储用户信息。

2. 项目结构设计在开始编写代码前,我先设计了项目的结构。

我将项目划分为不同的模块,包括用户注册、用户登录、数据库操作等。

这样可以使代码结构清晰,便于维护和扩展。

3. 用户注册功能实现我首先实现了用户注册功能。

通过编写一个Servlet,我接收用户提交的注册信息,并进行验证和存储。

同时,我还编写了一个JSP页面,用于展示注册表单和提示用户注册结果。

4. 用户登录功能实现接下来,我实现了用户登录功能。

同样通过一个Servlet,我接收用户提交的登录信息,并进行验证。

如果验证通过,我将用户信息存储在Session中,以便后续使用。

同时,我还编写了一个JSP页面,用于展示登录表单和提示用户登录结果。

5. 数据库操作为了存储和验证用户信息,我使用了MySQL数据库。

通过编写Java代码,我实现了与数据库的连接和操作。

包括创建用户表、插入用户信息、查询用户信息等。

6. 测试和调试在完成代码编写后,我进行了测试和调试。

我模拟了用户注册和登录的场景,确保功能的正确性和稳定性。

同时,我还进行了性能测试,以确保系统能够处理大量用户请求。

四、实验结果与分析通过本次实验,我成功实现了一个简单的Java Web应用程序。

Java程序设计实验报告

Java程序设计实验报告

Java程序设计实验报告一.实验要求1.实验一:Java程序的编辑、编译和运行(1)了解java语言特点,掌握JDK环境中编译、运行程序的操作。

(2)熟悉EditPlus编辑器的使用。

(3)掌握Java Application的程序结构和开发过程。

(4)了解Java程序文件名和类名的说明方法。

2.实验二:Java程序设计基础(1)了解Java 的数据类型;(2)掌握各种变量的声明方式;(3)理解运算符的优先级;(4)掌握Java 基本数据类型、运算符与表达式、数组的使用方法;(5)理解Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法;(6)熟练掌握数组的使用(7)通过以上内容,掌握Java 语言的编程规则。

3.实验三:类的封装性设计(1)掌握从实体中抽象类与对象的方法(2)掌握定义类、创建对象、使用类与对象(3)掌握类及其成员的修饰符的使用(4)掌握构造函数的使用。

4.实验四:类的继承性与多态设计(1)掌握类的继承机制(2)熟悉类中成员的访问控制(3)掌握方法的多态性5.实验五:Applet小程序图形用户界面设计(1)掌握Java 的GUI 设计技术,(2)掌握AWT 和Swing 的应用技巧。

(3)掌握布局管理器(4)掌握事件处理的方法。

(5)掌握Java小程序的特点和编写方法。

二.实验内容1.实验一:java程序的编辑、编译和运行。

(1)使用EditPlus编写源程序(2)编写两个Java Application程序(A)输出一行文字“Hello,JAVA!”用消息对话框显示文本信息。

(B)找出教材复习题1.16中程序的错误,上机调试验证、修改得出正确输出结果。

A.错误程序public class Wlecome{public void Main(string[] args){System,out.println("Welcome to Java!);}}B.修改后程序public class Wlecome{public static void main(String[] args){System.out.println("Welcome to Java!");}}C.运行结果2实验二:分别使用while、do-while和for语句编程,找出所有的水仙花数并输出。

JAVA程序设计实验报告2016

JAVA程序设计实验报告2016

5 / 24
Java 程序设计实验报告
实验 3
数组和向量的使用
一、 实验目的 (1) 熟练掌握数组的定义、初始化和使用方法。 (2) 掌握向量的使用方法,如插入、删除和查找等功能。 (3) 利用数组和向量来实现一个简单的应用系统。 二、 实验内容 (1) 定义一个一维数组,其中存储随机生成的 1000 个 1 至 100 以内的整数, 统计每个整数出现的次数。 (2) 设计一个矩阵乘法程序,输入两个矩阵可以计算出它们的乘积。 (3) 使用向量保存图书信息,包括书名、作者、出版社、刊号、出版日期、 页数和摘要,并能够实现图书的插入、删除、查找功能。插入、删除时 要显示操作是否正确与否的提示信息;查找时按关键字值进行查找,并 显示查找结果。 (4) 设计一个简单的学生成绩管理系统,要求能够录入并存储学生信息、课 程信息以及每个学生每门课程的成绩。学生信息包括姓名、学号、性别 和班级,课程信息包括课程号、课程名和学分。系统的功能包括:计算 每个学生的总成绩、平均成绩和总学分,计算每个班级的平均成绩,按 照学生平均成绩由高到低的顺序进行排序,统计所有学生每门课程的平 均成绩。
2 / 24
Java 程序设计实验报告实验 1熟悉 Java 开发环境
一、实验目的 (1) 了解 JDK 及 API 文档的安装。 (2) 了解 Java 应用程序的调试过程。 (3) 正确使用 Java 命令行。 (4) 熟悉 Eclipse 集成开发环境。 二、实验内容 (1) 在自己使用的机器上安装 JDK 及 Eclipse,并正确设置系统环境。 (2) 编写一个 Java 应用程序,在屏幕上显示如下信息:Hello <你的姓名>。
9 / 24
Java 程序设计实验报告
10 / 24

Java程序设计报告(供应合同台账系统)

Java程序设计报告(供应合同台账系统)

北华大学Java 课程设计——供应合同台帐系统姓名:班级:信息13-2学号:6院系:电子信息工程指导教师:设计日期:2015年12月目录摘要 ................................................................................................ .2一、总体概述 (3)二、需求分析 (3)三、开发环境 (5)1、Java语言简介 (5)2、eclipse (6)3、MySQL (6)四、架构图 (7)1、合同管理流程 (7)2、系统框图 (8)五、界面设计及基本操作说明 (9)1、安装 (9)2、注册 (9)3、登陆 (10)4、信息查询及修改 (11)5、添加信息 (12)6、打印信息 (12)六、数据库设计 (13)七、心得体会 (16)八、参考文献 (16)附录: (17)摘要基于eclipse开发环境,应用MySQL数据库,使用Java语言编写供应合同台账系统,为企业提供决策、计划、控制与经营绩效评估的全方位、系统化的合同管理平台。

多用户,分权限,联网独立操作该系统。

本系统遵循商务智能技术架构,由数据采集、数据仓库构成,应用架构采用两层架构,分别是:客户端程序/数据库服务器,应用服务器采用J2SE标准进行开发,数据库使用MySQL。

各层间可实现功能服务策略交互。

关键字Java ;合同;台账系统一、总体概述本课题为供应合同台账系统,实现合同的有序管理。

合同管理系统,是建立在信息技术基础上,利用现代企业的先进管理思想,为企业提供决策、计划、控制与经营绩效评估的全方位、系统化的合同管理平台。

通过电子台账市委可以有效快捷的管理全市重点工程和工程建设领域突出问题进行专项治理情况,针对在建项目中存在审批资料不完整、手续不完善等问题,通过建立台账等措施跟踪查办。

合同管理是企业经营管理基础工作上的重要内容,通过加强管理,规范企业合同的签订和履行,能够有效防范风险、优化管理降低成本、提高效益。

JAVA程序设计报告

JAVA程序设计报告
Java程序设计实验报告
学号:
姓名:
座位号: 实验日期:2010-11-15
【实验名称】: 类和对象的应用
【实验目的】:
1. 掌握各种数据类型及其使用方法。
2. 掌握分支语句if、switch和循环语句for、while、do-
while的应用。
3. 掌握类的声明和对象的创建。
4. 掌握方法的定义、调用和构造器的使用。 【实验内容及要求】:
} } public static void main(String[] args) {
int i=5; GetSeason(i); } }
2)
class Plus //用while语句求1~100的和 {
public static void main(String[] args) {
int s=0,i=1; while (i<=100) {
【程序输出结果】: 1)
2)
3)
4)
【结果分析、自己的体会和收获】: 这次的题目以熟悉语言为主,题目本身不难。这次实验让我
重新获得了阔别已久的在电脑前编代码的感觉。通过这次实 验,我对Java这门语言有了较多的认识,对类和对象(实 例)及其它们之间的联系有了更深刻的理解。
this.x=x; this.y=y; this.z=z; }

public double GetVolumn() {
return x*y*z; } public static void main(String[] args) {
Box b=new Box(); b.SetDemo(1,2,2); System.out.println("体积为"+b.GetVolumn()); } }

Java程序设计实验报告_2

Java程序设计实验报告_2

Java程序设计实验报告姓名:学号:班级:课题名称(附程序名):JAVA计算器(Calculator.java)一、实验目的通过JAVA图形接口的应用,编写出一图形界面的科学计算器;熟悉JAVA程序开发的一般步骤,掌握事件驱动,并能掌握一定的Java 编程能力,在实践中能感受Java的奥秘!同时检验自己的学习成果。

二、实验任务具有加减乘除的计算器,可以延伸到开方等其他的一些计算。

三、开发工具与平台Microsoft Visual Studio 2005四、设计思路:1)界面设计2)逻辑设计首先明确该实验设计的要求实现的基本功能,其次设计布局,将空间划分为由行和列组成的网格单元,每个单元放一个组件,网格单元大小可以不同,尽量将相同属性的按钮放在一个区域,方便操作。

3)软件调试与测试经过调试之后,能实现基本的四则运算,并能实现开方和消除错误的数。

4)软件设计优化该软件的界面应该更加流畅,同时我相信随着自己只是的日益丰富,开发软件的速度更快,效率更高,功能更加全面!5)实验总结不足:没有实现Mc,MR,MS,M+以及菜单栏几个功能,有待进一步完善。

这样才能够完成自己的第一个应用软件设计!优点:通过本次实验设计,大体了解了Java图形接口的应用,并在过程中增强了对程序的调试能力。

对JAVA有了更深一步的理解,学会如何解决问题,如何坚持对程序的调试,同时也增强了自己学习Java的信心。

五、附录源程序如下:import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator extends JFrame implements ActionListener { boolean init = true;boolean isMath = false;boolean clear = true;boolean clickable = true;double qian;String fuhao;int all = 0;JTextField text = new JTextField(25);JButton bM = new JButton();JButton bMC = new JButton("MC");JButton bMR = new JButton("MR");JButton bMS = new JButton("MS");JButton bMADD = new JButton("M+");JButton b0 = new JButton("0");JButton b1 = new JButton("1");JButton b2 = new JButton("2");JButton b3 = new JButton("3");JButton b4 = new JButton("4");JButton b5 = new JButton("5");JButton b6 = new JButton("6");JButton b7 = new JButton("7");JButton b8 = new JButton("8");JButton b9 = new JButton("9");JButton bNOP = new JButton("+/-");JButton bDot = new JButton(".");JButton bDiv = new JButton("/");JButton bMul = new JButton("*");JButton bSub = new JButton("-");JButton bAdd = new JButton("+");JButton bSprt = new JButton("sprt");JButton bMod = new JButton("%");JButton bDao = new JButton("1/x");JButton bEqual = new JButton("=");JButton bBackspace = new JButton("Backspace"); JButton bCE = new JButton("CE");JButton bC = new JButton("C");public Calculator() {this.setTitle("计算器");JMenuBar mainMenu = new JMenuBar();setJMenuBar(mainMenu);JMenu editMenu = new JMenu("编辑");JMenu viewMenu = new JMenu("查看");JMenu helpMenu = new JMenu("帮助");mainMenu.add(editMenu);mainMenu.add(viewMenu);mainMenu.add(helpMenu);JPanel jpDisplay = new JPanel();JPanel jpInput = new JPanel();JPanel jpLeft = new JPanel();JPanel jpRight = new JPanel();text.setText("0.");text.setHorizontalAlignment(JTextField.RIGHT); jpDisplay.add(text);bM.addActionListener(this);bMC.addActionListener(this);bMS.addActionListener(this);bMR.addActionListener(this);bMADD.addActionListener(this);jpLeft.setLayout(new GridLayout(5, 1)); jpLeft.add(bM);jpLeft.add(bMC);jpLeft.add(bMR);jpLeft.add(bMS);jpLeft.add(bMADD);JPanel jpInnerN = new JPanel();JPanel jpInnerS = new JPanel();bBackspace.addActionListener(this);bCE.addActionListener(this);bC.addActionListener(this);jpInnerN.setLayout(new GridLayout(1, 3)); jpInnerN.add(bBackspace);jpInnerN.add(bCE);jpInnerN.add(bC);b0.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);bNOP.addActionListener(this);bDot.addActionListener(this);bDiv.addActionListener(this);bMul.addActionListener(this);bSub.addActionListener(this);bAdd.addActionListener(this);bSprt.addActionListener(this);bMod.addActionListener(this);bDao.addActionListener(this);bEqual.addActionListener(this);jpInnerS.setLayout(new GridLayout(4, 5));jpInnerS.add(b7);jpInnerS.add(b8);jpInnerS.add(b9);jpInnerS.add(bDiv);jpInnerS.add(bSprt);jpInnerS.add(b4);jpInnerS.add(b5);jpInnerS.add(b6);jpInnerS.add(bMul);jpInnerS.add(bMod);jpInnerS.add(b1);jpInnerS.add(b2);jpInnerS.add(b3);jpInnerS.add(bSub);jpInnerS.add(bDao);jpInnerS.add(b0);jpInnerS.add(bNOP);jpInnerS.add(bDot);jpInnerS.add(bAdd);jpInnerS.add(bEqual);jpRight.setLayout(new BorderLayout());jpRight.add(jpInnerN, BorderLayout.NORTH);jpRight.add(jpInnerS, BorderLayout.CENTER);jpInput.setLayout(new BorderLayout());jpInput.add(jpLeft, BorderLayout.WEST);jpInput.add(jpRight, BorderLayout.CENTER);Container pane = this.getContentPane();pane.setSize(333, 208);this.setLocation(300, 200);this.setLayout(new BorderLayout());pane.add(jpDisplay, BorderLayout.CENTER);pane.add(jpInput, BorderLayout.SOUTH);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.pack();this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (init)this.text.setText("0.");init = false;Object source = e.getSource();if (source == bBackspace) {String s = text.getText();text.setText("");for (int i = 0; i < s.length() - 1; i++) { char a = s.charAt(i);text.setText(text.getText() + a);}System.out.println("backspace");}if (source == bCE) {text.setText("0.");clear = true;init = true;System.out.println("CE");}if (source == bC) {text.setText("0.");clear = true;init = true;System.out.println("C");}if (source == bM) {System.out.println("M");}if (source == bMC) {System.out.println("MC,功能末实现");}if (source == bMR) {System.out.println("MR,功能末实现");}if (source == bMS) {System.out.println("MS,功能末实现");}if (source == bMADD) {System.out.println("M+,功能末实现");}if (source == b0) {System.out.println("0");if (clear == false)// 判断是否点击了符号位text.setText("");text.setText(text.getText() + "0");}if (source == b1) {if (clear == false)text.setText("");text.setText(text.getText() + "1");clear = true;// 第二次不在清空(前二句)}if (source == b2) {System.out.println("2");if (clear == false)text.setText("");text.setText(text.getText() + "2");clear = true;}if (source == b3) {System.out.println("3");if (clear == false)text.setText("");text.setText(text.getText() + "3");clear = true;}if (source == b4) {System.out.println("4");if (clear == false)text.setText("");text.setText(text.getText() + "4");clear = true;}if (source == b5) {System.out.println("5");if (clear == false)text.setText("");text.setText(text.getText() + "5");clear = true;}if (source == b6) {System.out.println("6");if (clear == false)text.setText("");text.setText(text.getText() + "6");clear = true;}if (source == b7) {System.out.println("7");if (clear == false)text.setText("");text.setText(text.getText() + "7");clear = true;}if (source == b8) {System.out.println("8");if (clear == false)text.setText("");text.setText(text.getText() + "8");clear = true;}if (source == b9) {System.out.println("9");if (clear == false)text.setText("");text.setText(text.getText() + "9");clear = true;}try{if (source == bNOP) {System.out.println("+/-");boolean isNumber = true;String s = text.getText();for (int i = 0; i < s.length(); i++)if (!(s.charAt(i) >= '0' && s.charAt(i) <= '9'|| s.charAt(i) == '.' || s.charAt(i) == '-')) {isNumber = false;break;}if (isNumber == true) {// 如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-') {text.setText("");for (int i = 1; i < s.length(); i++) {char a = s.charAt(i);text.setText(text.getText() + a);}}// 如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsetext.setText('-' + s);}}if (source == bDot) {System.out.println(".");clickable = true;for (int i = 0; i < text.getText().length(); i++)if ('.' == text.getText().charAt(i)) {clickable = false;break;} // 第一层判断是否里面含有小数点;if (clickable == true)// 第二层判断text.setText(text.getText() + ".");}if (source == bDiv) {System.out.println("/");qian = Double.parseDouble(text.getText());fuhao = "/";clear = false;}if (source == bMul) {System.out.println("*");qian = Double.parseDouble(text.getText());fuhao = "*";clear = false;}if (source == bSub) {System.out.println("-");qian = Double.parseDouble(text.getText());fuhao = "-";clear = false;}if (source == bAdd) {System.out.println("+");qian = Double.parseDouble(text.getText());fuhao = "+";clear = false;}if (source == bSprt) {System.out.println("sprt");String s = text.getText();if (s.charAt(0) == '-') {text.setText("负数不能开根号");} elsetext.setText(Double.toString(ng.Math.sqrt(Double.parseDouble(text.getText()))));clear = false;}if (source == bMod) {System.out.println("%,功能末实现");}if (source == bDao) {System.out.println("1/x");if (text.getText().charAt(0) == '0'&& text.getText().length() == 1) {text.setText("除数不能为零");} else {boolean isDec = true;int i, j, k;String s= Double.toString(1 / Double.parseDouble(text.getText()));for (i = 0; i < s.length(); i++)if (s.charAt(i) == '.')break;for (j = i + 1; j < s.length(); j++)if (s.charAt(j) != '0') {isDec = false;break;}if (isDec == true) {String stemp = "";for (k = 0; k < i; k++)stemp += s.charAt(k);text.setText(stemp);} elsetext.setText(s);}clear = false;}if (source == bEqual) {System.out.println("=");Double ss=Double.parseDouble(text.getText());text.setText("");if (fuhao == "+")text.setText(qian + ss + "");if (fuhao == "-")text.setText(qian - ss + "");if (fuhao == "*")text.setText(qian * ss + "");if (fuhao == "/")text.setText(qian / ss + "");clear = false;// 要清空前一次的数据;}}catch (Exception ee) {System.out.println("请正确输入");text.setText("运算出错,给您带来不便,sorry");clear = false;}}public static void main(String[] args) {new Calculator();}}11。

Java程序设计报告24928

Java程序设计报告24928

《Java程序设计》课程设计报告xxxxxxx一、设计时间二、设计地点三、设计目的1.复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2.课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。

提高学生适应实际,实践编程的能力;3.培养在项目开发中团队合作精神、创新意识及能力。

4.培养查阅资料,独立思考问题的能力。

四、设计小组成员五、指导老师六、设计课题抽奖系统的设计与实现。

理由:1、界面综合度高,设计此界面要用到多种知识点,有利于大家熟练掌握和运用。

2、整个系统简洁明了,适于初学者。

3、代码编写涉及面广,利于提高综合应用能力。

七、基本思路及关键问题的解决方法基本思路:1.利用Java图形用户界面AWT组件创建抽奖系统里的姓名、密码、颜色标签和各种按钮以及显示信息的文本框,通过流布局管理器美化用户注册和登录界面;2.通过AWT事件类和事件监听器接口实现提示信息和变化信息,具体有WindowEvent窗口事件类、WindowListener窗口事件监听器接口、MouseListener鼠标事件监听接口等;3.AWT组件类中注册事件监听器:*.addMouseListener(this) 注册鼠标事件监听器*.addWindowListener(this) 注册窗口事件监听器关键问题的解决方法:问题:○1没有注册事件监听器添加语句addActionListener(this)○2没有判断输入是否为空加入语句if (tfd1.getText().equals("")||tfd2.getText().equals(""))八、算法及流程图九、调试过程中出现的问题及相应解决办法1、出现的问题:1) 在设计系统界面的时候不知道怎样进行界面布局。

2) 在改变界面大小的时候,无法把握大小。

Java程序设计实验报告 哈工大

Java程序设计实验报告 哈工大

Java语言基础实验指导、报告书(2012-2013年秋季学期使用)班级:____________________ 姓名:____________________计算机科学与技术学院实验一Java编程开发环境一、实验学时:1 学时二、实验目的:1. 学习从网络下载JDK开发工具与帮助文档。

2. 学习安装JDK开发工具及其文档。

3. 掌握Java Application程序的开发过程并编写一个JavaApplication程序。

4. 学习使用JDK的帮助文档。

三、必须学习和掌握的知识点:1.掌握使用JDK开发Java程序的步骤。

2.掌握Java程序的基本语法。

四、实验内容:1.创建一个―Hello,World‖程序,该程序只要输出这句话即可。

你所编写的类里只需一个方法(―main‖方法会在程序启动时被执行)。

记住要把它设为static形式,并指定参数列表——即使根本不会用到这个列表。

用javac进行编译,再用java运行它。

2.观察程序的运行结果3.打印源程序清单4.改变工作目录,观察编译程序和运行程序是否可以正常工作,思考为什么,如何做?实验二Java程序流程控制一、实验学时:1学时二、实验目的:1.Java语言基本元素2.Java数据类型3.Java语言结构4.Java控制语句5.Java类定义规范三、必须学习和掌握的知识点:1.分支语句:if-else, switch2.循环语句:while, do-while, for3.与程序转移有关的其它语句:4.break, continue, return四、实验内容:1.写一个接收两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结果打印出来。

做== 和!= 比较的同时,用equals()作测试。

在main()里面用几个不同的字符串对象调用这个方法。

2.写一个会随机生成25个整型值的程序。

对每一个值,用if-else 语句判断其是大于、小于,还是等于下一个随机生成的值。

Java程序设计报告《贪吃蛇》

Java程序设计报告《贪吃蛇》

Java程序设计报告《贪吃蛇》《Java程序设计》课程设计报告题目:贪吃蛇游戏的设计与实现指导老师:沈泽刚专业:计算机科学与技术班级:10-3姓名:梁潇一、课程设计目的贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较适合。

目的是更好地了解和掌握java语言,并熟练的运用java语言来实现项目。

培养自主学习的能力。

本软件在设计方面本着方便、实用及娱乐性高的宗旨,在外界进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。

二、课程设计要求贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块、游戏控制模块。

三、课程设计报告内容(一) 系统设计1、程序概述本程序是一个利用Java应用软件制作的贪吃蛇小游戏。

按钮、暂停按钮、游戏的退出按钮、困难程度、积分排行、关于作者。

(二)代码设计import java.awt.Color;import java.awt.Container;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.*;public class TanChiShe extends JFrame implements ActionListener, KeyListener,Runnable{private JMenuBar menuBar;private JMenu youXiMenu,nanDuMenu,fenShuMenu,guanYuMenu; private JMenuItem kaiShiYouXi,exitItem,zuoZheItem,fenShuItem;private JCheckBoxMenuItem cJianDan,cPuTong,cKunNan; private int length = 6;private Toolkit toolkit;private int i,x,y,z,objectX,objectY,object=0,growth=0,time;private int difficult=2;private int m[]=new int[50];private int n[]=new int[50];private Thread she = null;private int life=0;private int foods = 0;private int fenshu=0;public void run() //运行{time=500;for(i=0;i<=length-1;i++){m[i]=90-i*10;n[i]=60;}x=m[0];y=n[0];z=4;while(she!=null){check();try{she.sleep(time);}catch(Exception ee){System.out.println(z+"");}}}public TanChiShe(){//***************创建新对象**************setVisible(true);menuBar = new JMenuBar();Container con=getContentPane();toolkit=getToolkit();//**************游戏菜单对象***************** youXiMenu = new JMenu("游戏");kaiShiYouXi = new JMenuItem("开始游戏");exitItem = new JMenuItem("退出游戏");//***************困难程度对象**************** nanDuMenu = new JMenu("困难程度");cJianDan = new JCheckBoxMenuItem("简单");cPuTong = new JCheckBoxMenuItem("普通");cKunNan = new JCheckBoxMenuItem("困难");//*****************分数菜单对象****************fenShuMenu = new JMenu("积分排行");fenShuItem = new JMenuItem("最高记录");//****************关于对象*********************guanYuMenu = new JMenu("关于");zuoZheItem = new JMenuItem("关于作者");//***************设置关于菜单*******************guanYuMenu.add(zuoZheItem);//****************设置困难程度菜单**************nanDuMenu.add(cJianDan);nanDuMenu.add(cPuTong);nanDuMenu.add(cKunNan);//******************设置分数菜单***************fenShuMenu.add(fenShuItem);//*****************设置游戏菜单****************youXiMenu.add(kaiShiYouXi);youXiMenu.add(exitItem);//******************设置主菜单********************menuBar.add(youXiMenu);menuBar.add(nanDuMenu);menuBar.add(fenShuMenu);menuBar.add(guanYuMenu);//*********************监听注册*****************zuoZheItem.addActionListener(this);kaiShiYouXi.addActionListener(this);exitItem.addActionListener(this);addKeyListener(this);fenShuItem.addActionListener(this);//*********************加快捷键********************KeyStroke keyOpen = KeyStroke.getKeyStroke('O',InputEvent.CTRL_DOWN_MASK);kaiShiYouXi.setAccelerator(keyOpen);KeyStroke keyExit = KeyStroke.getKeyStroke('X',InputEvent.CTRL_DOWN_MASK);exitItem.setAccelerator(keyExit);//*****************设置框架**********************setJMenuBar(menuBar);setTitle("贪吃蛇");setResizable(false);setBounds(300,200,400,400);validate();setDefaultCloseOperation(EXIT_ON_CLOSE);}public static void main(String args[]){new TanChiShe();}//******************菜单监听****************************** public void actionPerformed(ActionEvent e){if(e.getSource()==kaiShiYouXi){length = 6;life = 0;foods = 0;if(she==null){she=new Thread(this);she.start();}else if(she!=null){she=null;she= new Thread(this);she.start();}}if(e.getSource()==exitItem){System.exit(0);}if(e.getSource()==zuoZheItem)JOptionPane.showMessageDialog(this, "梁潇"+"\n\n");}if(e.getSource()==fenShuItem){JOptionPane.showMessageDialog(this,"最高记录为"+fenshu+"");}}//**************检查一下******************************* public void check(){isDead();if(she!=null){if(growth==0){reform();}else{upgrowth();}if(x==objectX&&y==objectY){object=0;growth=1;toolkit.beep();}//****************产生食物坐标**********************if(object==0){object=1;objectX=(int)Math.floor(Math.random()*39)*10;objectY=(int)Math.floor(Math.random()*29)*10+50;}this.repaint();}}void isDead()if(z==4){x=x+10;}else if(z==3){x=x-10;}else if(z==2){y=y+10;}else if(z==1){y=y-10;}if(x<0||x>390||y<50||y>390) {she=null;}for(i=1;i<length;i++){if(m[i]==x&&n[i]==y){she=null;}}}public void upgrowth(){if(length<50){length++;}growth--;time=time-10;reform();life+=100;if(fenshu<life){fenshu = life;}foods++;}public void reform(){for(i=length-1;i>0;i--){m[i]=m[i-1];n[i]=n[i-1];}if(z==4){m[0]=m[0]+10;}if(z==3){m[0]=m[0]-10;}if(z==2){n[0]=n[0]+10;}if(z==1){n[0]=n[0]-10;}}public void keyPressed(KeyEvent e){if(she!=null){if(e.getKeyCode()==KeyEvent.VK_UP){if(z!=2){z=1;check();}}else if(e.getKeyCode()==KeyEvent.VK_DOWN) {if(z!=1){z=2;check();}}else if(e.getKeyCode()==KeyEvent.VK_LEFT){if(z!=4){z=3;check();}}else if(e.getKeyCode()==KeyEvent.VK_RIGHT) {if(z!=3){z=4;check();}}}}public void keyReleased(KeyEvent e){// TODO 自动生成方法存根}public void keyTyped(KeyEvent e){// TODO 自动生成方法存根}public void paint(Graphics g){//*******************画图********************** g.setColor(Color.DARK_GRAY);g.fillRect(0,50,400,400);g.setColor(Color.pink);for(i=0;i<=length-1;i++){g.fillRect(m[i],n[i],10,10);}g.setColor(Color.green);g.fillRect(objectX,objectY,10,10);g.setColor(Color.white);g.drawString("当前分数"+this.life,6,60);g.drawString("当前已吃食物数"+this.foods,6,72); }}(三)测试(四)使用说明在游戏过程中,用户通过点击小键盘区的方向键来控制蛇的运行方向;当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束。

java程序设计报告

java程序设计报告

程序设计课程设计报告设计题目:计算器模拟程序专业班级:信管学号:姓名:指导教师:郭春燕时间:2011.06.13-2011.06.24摘要计算器模拟程序课程项目是在JAVA学习过程一项要的内容,它涵盖了对JAVA内容学习的考察,同时通过实验项目,也加强了学生的动手能力。

进一步加深对Java语言的理解和掌握,把自己所学的理论知识运用到实际应用中去。

计算器模拟程序是一个小的计算算程序,包括日常我们用到的一些计算方法。

主要研究的是加法、减法、乘法、出发、三角函数、阶乘、以及次方等。

采用的是JAVA语言进行编写,引用JAVA自带数据库中swt包与math包中的一些构造类与函数类,然后自己构造板块和模型,从而完成自己的程序设计项目。

目录一、课题概述.............................................................................................................................. - 3 -1、课题任务........................................................................................................................ - 3 -2、课题目的........................................................................................................................ - 3 -3、课题要求........................................................................................................................ - 3 -二、设计思路及采取的方案...................................................................................................... - 4 -1、总体设计思想................................................................................................................ - 4 -2、实验方案........................................................................................................................ - 4 -三、实验结果............................................................................................................................ - 16 -四、总结体会............................................................................................................................ - 16 -1、遇到的难题.................................................................................................................. - 16 -2、一些应用中的技巧...................................................................................................... - 16 -3、心得体会与收获.......................................................................................................... - 17 -一、课题概述1、课题任务自主设计与编写一个计算机模拟程序,实现一个简单的计算器程序,能够进行简单的数据运算。

(完整版)Java程序设计实验报告

(完整版)Java程序设计实验报告

Java 程序设计实验报告实验一实验题目:从键盘上读入10 个字符串存入数组 a 中,而后输出这10个字符串中最大字符串和最小字符串。

实验代码:public class StrPro {public static void main(String[] args) {String str[] =new String[5];System. out .println("Please input 10 strings :" );int i;String max,min;for (i=0;i<5;i++){System. out .print( "Please input the " +(i+1)+ " string:" );Scanner sc = new Scanner(System. in );str[i] = sc.nextLine();}max = str[0];min = str[0];for (i=0;i<str.length ;i++){if (pareTo(str[i])<0){max = str[i];}if (pareTo(str[i])>0){min = str[i];}}System. out .println( System. out .println( " 最大的字符串为: " +max); " 最小的字符串为: " +min);}}实验结果:实验心得领会:掌握了 java 的基本语法,数组的定义与使用,做这个实验要了解字符串数组的定义及字符串数组的输入方法,还有比较字符串数组的大小的调用方法等。

实验二实验题目:自定义一个矩形类( Rectangle ),包括的属性有:长( length ),宽(width ),包括的方法有:对于属性的 setter 和 getter 方法,即 setLength ,getLength ,setWidth ,getWidth ,计算矩形面积的方法(g etArea )。

Java程序设计实验报告

Java程序设计实验报告

滁州学院课程设计报告课程名称:Java程序设计设计题目:四则运算测试系统系别:计算机与信息工程学院专业:计算机科学与技术组别:第七组起止日期: 2011年11月20日~ 2012 年1月8日指导教师: 马骏计算机与信息工程学院二○ 一一年制课程设计任务书目录1 需求分析 (1)1.1 课程设计目的与要求 (1)1.1.1 课程设计目的 (1)1.1.2 课程设计要求 (1)2 概要设计 (2)3 详细设计 (3)4 程序源代码 (4)5 程序运行于调试 (11)总结 (12)致谢 (12)参考文献 (12)1 需求分析1.1 课程设计目的与要求1.1.1 课程设计目的Java语言是面向对象的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。

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

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

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

为了将课堂上得知识掌握得更加透彻,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。

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

学习任何知识得目的都是要将它运用到实践中去,所以我们要运用已有的知识,独立得将这个课程设计完成,只有这样,我们才能将知识变成本领,变成属于自己得东西,通过一个学习得学习,我们已经有可一定得Java基础,现在我们就要利用这些基础,来完成课程设计。

这次课程设计我主要研究了利用已学的Java知识编辑一个四则运算测试系统。

通过此次课程设计,来巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。

并通过自己动手,自主得学习,对Java这门课程有更深得了解与认识。

1.1.2 课程设计要求程序实现十道100以内四则运算数学题,能根据题目计算出答案,与输入答案对比,判断做题是否正确,最后计算分数。

JAVA程序设计报告

JAVA程序设计报告

JA V A程序设计报告姓名:学号:成绩:__________同组人员:东南大学自动化学院一、引言Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言以下简称Java语言和Java平台的总称..Java平台由Java虚拟机Java Virtual Machine和Java 应用编程接口Application Programming Interface、简称API构成..其具有的特点如下:1、Java语言是简单的..Java语言的语法与C语言和C++语言很接近;使得大多数程序员很容易学习和使用Java..另一方面;Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性;如操作符重载、多继承、自动的强制类型转换..特别地;Java语言不使用指针;并提供了自动的废料收集;使得程序员不必为内存管理而担忧..2、Java语言是一个面向对象的..Java语言提供类、接口和继承等原语;为了简单起见;只支持类之间的单继承;但支持接口之间的多继承;并支持类与接口之间的实现机制关键字为implements..Java语言全面支持动态绑定;而C++ 语言只对虚函数使用动态绑定..总之;Java语言是一个纯的面向对象程序设计语言..3、Java语言是分布式的..Java语言支持Internet应用的开发;在基本的Java应用编程接口中有一个网络应用编程接口java;它提供了用于网络应用编程的类库;包括URL、URLConnection、Socket、 ServerSocket等..Java的RMI远程方法激活机制也是开发分布式应用的重要手段..二.问题描述设计一个家庭通讯录小管理程序;请构建一个小数据酷;数据库字段为联系人姓名、家庭住址、移动电话、固定电话..要求如下:数据信息的录入功能;信息的查找功能;信息的删去功能;实现信息的打印功能..三.问题分析通讯簿管理现在是人们办公中不可缺少的一项环节;可以有效的管理众多的联系人的相关信息;实现查找信息的便捷化;添加联系人的简易化;以及及时修改联系人相关信息;删去不必要的联系人信息;为人们在使用过程创造便捷化和简易化;可是长期以来人们都是通过手工的方式来管理学生的成绩的;而且当进行成绩排名的时候这项工作就比较繁琐了;通过手工既耗时又耗力..为了使这项工作变得简单易行;开发一个通讯簿管理系统是很有必要的..要求该系统有如下的功能:1.可浏览全体联系人的成绩情况2.可添加联系人的具体信息3.可删除联系人的具体信息4.可进行联系人的排序查找5.可进行联系人信息的修改6.将数据储存在数据库中保存四.系统功能结构五.在设计中完成的模块本Java电话簿管理系统主要分为三个模块:界面模块、监听操作模块、数据库操作模块..我在程序开发中主要完成了事件监听的模块..1.实现方式程序开始定义了菜单栏和菜单项JMenuBar menubar;JMenu setmenu; caozuo;JMenuItem name; data; addrecord; delrecord; selrecord; updrecord;因此要对定义的Mennuitem进行事件监听;items事件的interface 为ItemListener ;方法为itemstatechangeitemevent..还定义了ButtonJButton add; //添加按钮JButton select;所以我通过 .addActionListenerthis;来对每个菜单项的items和每个Button进行事件监听;在程序结尾处又重新定义每个事件的方法如下..public void actionPerformedActionEvent ae{}接下来用了if"按姓名排序" == ae.getActionCommand{}else if"按序号排序" == ae.getActionCommand{}else if"添加记录" == ae.getActionCommand{}else if"查找记录" == ae.getActionCommand{}else if"修改记录" == ae.getActionCommand{}else if"删除记录" == ae.getActionCommand{}等方法从新定义了每一个事件的具体处理方法..2.具体定义方式A.if"按姓名排序" == ae.getActionCommand{}此方法作用是将信息按姓名进行排列getAllRecord;int count = defaultModel.getRowCount;forint i = 0; i < count - 1; i++forint j = i + 1; j < count; j++ {String min = null;String max = null;min = String.valueOfdefaultModel.getValueAti; 1;max = String.valueOfdefaultModel.getValueAtj; 1;ifminpareTomax > 0{rowchangei; j;}else{B.else if"按序号排序" == ae.getActionCommand getAllRecord;int count = defaultModel.getRowCount;forint i = 0; i < count - 1; i++forint j = i + 1; j < count; j++{int min = 0;int max = 0;min = Integer.valueOfString.valueOfdefaultModel.getValueAti; 0; max = Integer.valueOfString.valueOfdefaultModel.getValueAti; 0; ifmin > max{rowchangei; j; }else{ };C. else if"添加记录" == ae.getActionCommand此操作涉及数据库的链接和添加信息;所以我从网上当下来的下面的程序片段String getaddname = t_name.getText;String getadd_addr = t_addr.getText;String getadd_guhua = t_guhua.getText;String getadd_mobilenum = t_mobile_num.getText;ifgetaddname.length == 0 || getadd_addr.length == 0JOptionPane.showMessageDialogthis; "请输入姓名和电话号码"; "Warning"; RMATION_MESSAGE;else{ResultSet rs;Connection con;Statement sql;try{ Class.forName"sun.jdbc.odbc.JdbcOdbcDriver"; }catchClassNotFoundException e{JOptionPane.showMessageDialogthis; "ClassNotFoundException"; "Warning"; RMATION_MESSAGE; }{con=DriverManager.getConnection"jdbc:odbc:phone"; ""; "";sql=con.createStatement;sql.executeUpdate"INSERT INTO 电话簿姓名;家庭住址;固定电话;移动电话V ALUES'" + getaddname + "';'" + getadd_addr + "';'" + getadd_guhua + "';'" + getadd_mobilenum + "'";rs=sql.executeQuery"SELECT FROM 电话簿WHERE 姓名='" + getaddname + "' AND 家庭住址='" + getadd_addr + "'";long getaddxuhao = 0;while rs.next{getaddxuhao = rs.getLong"序号";}defaultModel.addRownew Vector;//在表格中添defaultModel.setValueAt getaddxuhao; defaultModel.getRowCount - 1; 0;defaultModel.setValueAt getaddname; defaultModel.getRowCount - 1; 1;defaultModel.setValueAt getadd_addr; defaultModel.getRowCount - 1; 2; defaultModel.setValueAt getadd_guhua; defaultModel.getRowCount - 1; 3;defaultModel.setValueAtgetadd_mobilenum;defaultModel.getRowCoun -con.close;catchSQLException e{JOptionPane.showMessageDialogthis; "SQLException"; "Warning"; RMATION_MESSAGE;}catchException e{JOptionPane.showMessageDialogthis; "Exception"; "Warning"; RMATION_MESSAGE;} }t_name.setText"";t_addr.setText"";t_guhua.setText"";t_mobile_num.setText"";}D.else if"查找记录" == ae.getActionCommand也是从网上查到的;E.else if"修改记录" == ae.getActionCommand从书上摘抄的F.else if"删除记录" == ae.getActionCommand也是从书上抄的六.操作简介打开系统会看到如下图1的系统界面图11.在添加栏中输入要添加人的相应姓名、家庭住址、固定电话、移动电话后;点添加按钮就会将要添加的信息添加到下面的显示栏中;同时也保存了添加的信息..同时在下面的显示栏中会出现你所记录的信息的序号;是对已记录信息的个数的统计..如图1所示..2.在相同的文本区中输入要查询人的姓名然后点击右边的查找按钮就可以将要查询的人的信息显示在下面的显示框中;方便查找..如图2所示为输入姓名“马飞”点击查找按钮后的界面..图23.在菜单栏上点击操作选项会弹出下拉项;点击“删除记录”就会弹出如图3所示的对话框;输入要删除人的姓名就可以把该人的信息删除;如果记录中没有要删除的人;则会出现一提示对话框给出“该人不存在”的提示信息..图33.在菜单栏的操作项下点击“修给记录”按钮会弹出对话框依次要求输入被修改人的姓名;然后是“要修改的家庭住址”、“要修改的固定电话”、“要修改的移动电话”..用户可根据要修改的项目点击“确定”或“撤销”按钮..方便的对信息进行修改..具体信息如图4、图5、图6、图7所示..图4 图5图6 图74.点击设置菜单下的“按姓名排序按钮”;在下面的显示框中就会出现按姓名排序的列表;主要是按照英文首字母的顺序从a拍到z的..若点击“按序号排序按钮”;显示框中就会列出按照顺序排列的相关人的信息..如图8所示图8七.参考文献1苗春义. Java项目开发全程实录J . 北京:清华大学出版社;2008.6 2辛运帏、绕一梅、马素霞. java程序设计J . 北京:清华大学出版社;2006.8。

JAVA程序设计实验报告

JAVA程序设计实验报告

JA V A程序设计实验报告学号:姓名:班级:指导老师:陈业斌实验一、面向对象编程实验一、实验目的⒈掌握接口的编写及使用⒉理解继承、多态⒊掌握包的编写以及如何使用包中的类二、预习内容java的基本语法知识三、实验设备与环境装有JA V A语言工具软件(JCreator )的微机若干四、实验内容⒈接口的编写(1)编辑Interfaceclass.java,设保存在D:\myjava目录下。

interface Interfaceclass{int i=4;int k=5;void func1();int func2(int x);}(2)编辑UseInterface.java,设保存在D:\myjava目录下。

class UseInterface implements Interfaceclass{int j;public void func1() //在使用接口的类中一定要实现接口中的所有抽象方法{System.out.println("func1="+1);}public int func2(int i){System.out.println("func2="+1);return i;}public static void main(String srgs[ ]){//Interfaceclass.class x=new Interfaceclass.class();不能对接口进行实例化UseInterface x=new UseInterface();x.func1();x.func2(k);}}⒉多态在工资系统中的应用下面给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。

Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。

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

{ 项目名称} 模块设计报告
机构公开信息
版本历史
目录
0. 文档介绍 (4)
0.1文档目的 (4)
0.2文档范围 (4)
0.3读者对象 (4)
0.4参考文献 (4)
0.5术语与缩写解释 (4)
1. 模块命名规则 (6)
2. 模块汇总 (6)
2.1模块汇总表 (6)
2.2模块关系图 (6)
3. 子系统A的模块设计 ....................................................................... 错误!未定义书签。

3.N 模块A-N ..................................................................................... 错误!未定义书签。

4. 子系统B的模块设计 ....................................................................... 错误!未定义书签。

4.N 模块B-N...................................................................................... 错误!未定义书签。

5. 其他 (20)
0. 文档介绍
0.1 文档目的
作为企业即时通软件设计文档的重要组成部分,本文档主要对该软件各个模块以及模块与模块之间的关系进行了详细描述,并对相关内容做出了统一的规定。

0.2 文档范围
本文档包含以下几个部分:
0.文档介绍
1.模块命名规则
2.模块汇总
3.其它
0.3 读者对象
本文档的主要读者包括:
1. 本系统的设计人员:包括模块设计人员
2. 本系统的系统开发人员:编码人员。

3. 本系统的测试人员
0.4 参考文献
提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:[标识符] 作者,文献名称,出版单位(或归属单位),日期
例如:
[AAA]作者,《立项建议书》,机构名称,日期
[SPP-PROC-SD] SEPG,系统设计规范,机构名称,日期
0.5 术语与缩写解释
1. 模块命名规则
1.1 类和接口
1) 类和接口名均采用名词,首字母大写,其他单词首字母大写。

例如:
BufferedStreamReader,缩写词必须全部大写。

例如:TargetURL。

1.2 包
1)所有包名只能用小写字母。

尽量别使包名长度超过8个字符,避免使用多个词作为包名;
2)顶级包名采用开发者所在机构的域名的逆序,若没有域名,可采用公司英文名称;
例如:
com.sun.jdbc、org.jboss
3)非顶级包名采用名词,或名词的缩写。

2. 模块汇总
2.1 模块汇总表
表 1-1 表示层(客户端)模块汇总表
表 1-2 表示层(服务器端)模块汇总表
表 1-3 自定义界面模块汇总表
表 1-4 业务规则模块汇总表
表1-5 数据实体汇总表
表1-6 工具类汇总表2.2 模块关系图
2.2.1 包关系
1. 表示层(客户端)如下图(图2-3)所示:
图 2-3 客户端表示层
2. 表示层(服务器端)如下图(图2-4)所示:
图 2-4 服务器端表示层3. 自定义界面(图2-5)所示:
图 2-5 自定义界面类4. 业务规则类如下图(图2-6)所示:
图2-6 业务规则类5. 数据实体类如下图(图2-7)所示:
图 2-7 数据实体类6. 工具类如下图(图2-8)所示:
图2-8 工具类7. 图像资源和资源文件
图像资源主要包含程序中用到的图像文件,本项目中使用的图像文件格式均为gif 格式。

2.2.2表示层模块设计
2.2.2.1 客户端表示层
模块1:LoginJFrame 如下表:
表 2-10 LoginJFrame类
模块2:MainJFrame
表 2-11 MainJFrame类
2.2.2.2 服务器端表示层
模块1:MainJFrame
表 2-12 MainJFrame类
模块2:OnlineWatchJFrame
表 2-13 OnlineWatchJFrame类
2.2.3 工具类模块设计
模块1:DbUtils
表 2-14 DbUtils类
图2-9 DbUtils类图模块2:PropConfig
表 2-15 PropUtils模块
图2-10 PropConfig类图模块3:CommonUtils
表 2-16 CommonUtils类
图2-11 CommonUtils类图
限于篇幅,表2-16中只列出了大部分的方法,其它方法的使用请参照本案例的《模块设计文档》。

2.2.4 数据实体模块设计
模块1:Corperation
表 2-17 Corperation类
图2-12 Corperation类图模块2:Department
表 2-18 Department类
图2-13 Department类图模块3:UserInfo
表 2-19 UserInfo类
图2-14 UserInfo类图模块4:OnlineUser
表 2-20 OnlineUser类
图2-15 OlineUser 类图
2.2.5 业务逻辑模块设计
模块1:CorperationBL
表 2-21 CorperationBL

图2-16 CorperationBL 类图
模块2:DepartmentBL
表 2-22 DepartmentBL类
图2-17 DepartmentBL类图模块3:UserInfoBL
表 2-23 UserInfoBL类
图2-18 UserInfoBL类图模块4:DeptsUsersBL
表 2-24 DeptsUsersBL类
图2-19 DeptsUsersBL类图3. 其它。

相关文档
最新文档