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程序设计》实验报告 --实验3

《Java程序设计》实验报告 --实验3
}
else if(e.getSource()==buttontwo){//按键2操作
tf.setText(tf.getText()+"2");
flag1=Double.parseDouble(tf.getText());
}
else if(e.getSource()==buttonthree){//按键3操作
buttondevision=new JButton("/");
buttonsin=new JButton("sin");
buttontozero=new JButton(">0");
paneleast.setLayout(new GridLayout(3,1));//设置西边的布局为3行1列
//将操作按钮"+""-""*""/""sin"">0"添加到西边的面板中
JButton buttonplus,buttonminus,buttonmultiple,buttondevision,
buttonsin,buttontozero;//新建按钮"+""-""*""/""sin"和归零按钮
JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix,
panelcenter.add(buttonthree);
panelcenter.add(buttonfour);
panelcenter.add(buttonfive);

java课程设计及实验报告

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等)。

java实训报告8篇

java实训报告8篇

java实训报告java实训报告8篇我们眼下的社会,需要使用报告的情况越来越多,其在写作上有一定的技巧。

那么报告应该怎么写才合适呢?下面是小编收集整理的java实训报告,供大家参考借鉴,希望可以帮助到有需要的朋友。

java实训报告1一、课程设计名称及主要内容:1、课程设计名称:时钟动画2、课程设计的主要内容:以下题目任选一个:(1)图形界面类,如科学计算器、绘图板、日历、游戏程序等。

(2)动画类,编制功能较复杂、效果较好的Applet动画程序。

(3)数据处理类,如学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序。

(4)其他类型,自选题目,须经指导老师同意。

我所选的题目是动画类的Applet动画程序,主要任务是用Java 程序设计一个时钟动画。

二、程序的设计思想和流程图:1、设计思想:现在的各种时钟花样百出,千奇百怪,功能亦是越来越先进了。

我很喜欢这些各式各样的时钟,所以希望自己也能设计出一个来。

于是,我希望自己能够用自己所学的Java知识设计出一个自己的时钟动画,即使是最简单的,但我相信这是暂时的。

只要我能够努力学好Java知识,将来一定能够设计出更好更完美的时钟动画。

2、流程图:三、程序介绍:1、设计方法及步骤:题目分析:根据《课程设计任务书》要求,分析题目,构造出程序的基本思路(算法设计)。

画出程序设计结构框图。

构造数据结构:根据程序结构框图和题目分析结果(采用算法),构造程序所用各项数据,各种窗体及他们之间的联系。

构造程序框架:在窗体确定之后,根据算法设计出所用各个窗体之间的调用关系。

程序设计:①画出程序功能框图和结构框图;②根据框图设计程序;③编译程序调试程序,使程序可以使用;④完备程序功能。

程序打包:所设计程序汇总,将程序分类归入相应子目录,完成程序所有设计要求。

2、完成情况:经过一系列的Java程序代码的设计,虽然过程中遇到了许多的问题,但是最终解决了所有的'问题,准确的设计出了时钟动画,运行情况正常。

java实验报告作业

java实验报告作业

java实验报告作业
《Java实验报告作业》
一、实验目的
本次实验的目的是通过编写Java程序来加深对Java语言的理解和掌握,以及
提高编程能力和解决问题的能力。

二、实验内容
1. 编写一个简单的Java程序,实现对输入数字进行排序的功能。

2. 编写一个Java程序,实现对输入字符串进行反转的功能。

3. 编写一个Java程序,实现对输入数组进行查找指定元素的功能。

三、实验步骤
1. 首先,我编写了一个名为NumberSort的Java类,其中包含一个sort方法,
用于对输入的数字进行排序。

2. 然后,我编写了一个名为StringReverse的Java类,其中包含一个reverse方法,用于对输入的字符串进行反转。

3. 最后,我编写了一个名为ArraySearch的Java类,其中包含一个search方法,用于对输入的数组进行查找指定元素。

四、实验结果
经过编写和调试,我成功实现了以上三个功能,并且在测试中都得到了正确的
结果。

五、实验总结
通过本次实验,我进一步加深了对Java语言的理解和掌握,同时也提高了自己
的编程能力和解决问题的能力。

我相信通过不断地实践和学习,我会在编程领
域取得更大的进步。

同时,我也意识到在编写程序时要注重细节,以确保程序的正确性和稳定性。

希望在今后的学习和工作中能够不断提升自己,成为一名优秀的程序员。

Java实验报告一及作业总结二

Java实验报告一及作业总结二

Java实验报告⼀及作业总结⼆Java实验报告实验⼀ Java开发环境与简单Java程序⼀、实验⽬的(1)熟悉JDK开发环境(2)熟练掌握结构化程序设计⽅法⼆、实验内容1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

3. 编程求1!+2!+3!+…+20!。

4. 编写Java程序,计算8+88+888+…前10项之和。

5. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

6. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

7. 使⽤for循环打印下⾯的图形。

三、实验过程1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

实验源码:实验结果:1533703714072. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验源码:实验结果:-5003.编程求1!+2!+3!+…+20!。

实验源码:实验结果:40379134.编写Java程序,计算8+88+888+…前10项之和。

实验源码:实验结果:12866086085. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

实验源码:实验结果:6284966. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

实验源码:实验结果:1327. 使⽤for循环打印下⾯的图形。

四、实验总结:觉得还是要多练题,增加⾃⼰的逻辑,解决相关问题。

总结报告:⼀:类的定义:基本⽅式;public static 返回值类型⽅法名(参数类型参数名称,.......){⽅法体; return 返回值;}⽅法的三种调⽤⽅式;注意:void 只能⽤于单独调⽤;要有⼀个更重要的地⽅在学习类的定义的时候,定义成员⽅法的时候与基本⽅法不同,成员⽅法他不需要static关键字,这个要注意!熟悉代码 这⾥说明⼀下什么时候⽤什么时候不⽤static关键字:在定义成员⽅法时不⽤,即因为此时定义的⽅法将要由对象调⽤,⽽不像之前那样与主⽅法⼀起定义在⼀个类当中且由主⽅法直接调⽤。

Java实验报告

Java实验报告

引言概述:Java实验报告(二)是对Java编程语言的实验进行的总结与分析。

本文将通过对实验过程中的操作和结果进行详细阐述,对Java的特性和应用进行深入探索,以及提供了一系列实验结果和实验过程中的问题及解决方案。

本文共分为引言概述、正文内容、总结三个部分。

正文内容:一、Java语言基础1.1Java的历史和特点1.2Java语言的基本特性1.3Java的运行机制1.4Java的数据类型和变量1.5Java中的运算符和表达式二、控制流语句与循环结构2.1条件控制语句2.2循环结构2.3跳转语句三、面向对象编程3.1类与对象3.2封装、继承与多态3.3抽象类与接口3.4异常处理3.5文件操作与IO流四、Java核心技术4.1Java集合框架4.2多线程编程4.3网络编程4.4GUI开发4.5数据库连接和操作五、Java应用案例分析5.1图书管理系统5.2学生信息管理系统5.3电子商务系统5.4银行管理系统5.5在线聊天程序总结:在Java实验报告(二)中,我们系统地学习了Java语言的基础知识、控制流语句与循环结构、面向对象编程、Java核心技术以及Java应用案例分析。

通过实验和实践,我们提高了对Java编程语言的理解和应用能力,为今后的学习和工作奠定了坚实的基础。

希望通过这次实验报告的撰写,能够对读者们对Java编程语言有更全面和深入的认识,激发对于编程的兴趣和灵感。

引言:Java是一种面向对象的编程语言,具有跨平台、高性能和可靠性等优点。

本文将对Java实验进行详细报告,包括实验目的、实验方法、实验结果及分析、问题和解决方案等方面。

概述:本次实验旨在通过编写Java程序,加深对Java语言及其相关知识的理解和掌握。

实验主要分为五个大点,包括环境搭建、基本语法、面向对象编程、异常处理和文件操作。

每个大点将分别进行详细阐述。

正文内容:1.环境搭建1.1安装JDK1.2配置环境变量1.3设置IDE2.基本语法2.1数据类型2.2变量和常量2.3运算符2.4控制语句2.5循环语句3.面向对象编程3.1类和对象3.2继承3.3多态3.4封装3.5接口和抽象类4.异常处理4.1异常的概念4.2异常处理机制4.3trycatch语句4.4finally语句4.5自定义异常5.文件操作5.1文件的读写5.2文件的创建和删除5.3文件的复制和移动5.4文件的压缩和解压缩5.5文件的读写性能优化实验结果及分析:通过实验,我们成功搭建了Java开发环境,并学习了Java的基本语法、面向对象编程、异常处理和文件操作等知识。

java实训报告(7篇)

java实训报告(7篇)

java实训报告java实训报告(7篇)随着社会一步步向前发展,报告的使用成为日常生活的常态,其在写作上有一定的技巧。

一听到写报告马上头昏脑涨?以下是小编收集整理的java实训报告,仅供参考,希望能够帮助到大家。

java实训报告1内蒙古商贸职业学院计算机系学生校内实验实训报告20 --20 学年第学期系部:计算机系课程名称:Java程序设计教程专业班级:内蒙古商贸职业学院计算机系制填写说明1、实验项目名称:要用最简练的语言反映实验的内容,要与实验指导书或课程标准中相一致。

2、实验类型:一般需要说明是验证型实验、设计型实验、创新型实验、综合型实验。

3、实验室:实验实训场所的名称;组别:实验分组参加人员所在的组号。

4、实验方案设计(步骤):实验项目的设计思路、步骤和方法等,这是实验报告极其重要的内容,概括整个实验过程。

对于操作型实验(验证型),要写明需要经过哪几个步骤来实现其操作。

对于设计型和综合型实验,在上述内容基础上还应该画出流程图和设计方法,再配以相应的文字说明。

对于创新型实验,还应注明其创新点、特色。

5、实验小结:对本次实验实训的心得体会、思考和建议等。

6、备注:分组实验中组内成员分工、任务以及其他说明事项。

注意:①实验实训分组完成的,每组提交一份报告即可,但必须说明人员分工及职责。

不分组要求全体成员独立完成的实验实训项目可由指导老师根据个人完成情况分组填写。

②实验成绩按照百分制记,根据教学大纲及课程考核要求具体区分独立计算、折算记入两种情况。

③本实验实训报告是根据计算机系实验的具体情况在学院教务处制的实验实训报告的基础上进行改制的。

特此说明。

成绩单组别:小组成员:篇二:实训总结实训收获总结报告学部:计算机信息学院学科门类:计算机信息类专业:计算机应用技术姓名:朱恩林学号:12310020020实习单位:北京盛威南凌信息科技有限公司指导教师:王洪钊实习时间:20xx年5月15号—9月23号一、实训目的计算机信息管理专业的java实训在教学计划中是实训、实习课程。

JAVA实验报告一

JAVA实验报告一

引言概述Java是一种广泛使用的计算机编程语言,它被用于开发各种应用程序和互联网应用。

本文旨在介绍和分析我进行的Java实验的过程和结果,以及从实验中得出的结论。

在本文中,将分别从实验的目的和背景、实验环境、实验方法和过程、实验结果和分析、结论等方面来详细阐述Java实验的相关内容。

正文内容1.实验目的和背景介绍Java实验的目的,例如为了学习和掌握Java编程语言的基础知识和核心概念。

说明选择该实验的背景和重要性,例如Java作为一种高级编程语言,在软件开发中具有重要的地位和应用价值。

2.实验环境详细介绍实验所需的硬件和软件环境,例如操作系统、编程环境、开发工具等。

提供安装和配置环境所需的步骤和方法,确保实验可以顺利进行。

3.实验方法和过程阐述实验的具体步骤和方法,例如创建Java项目、编写代码、调试程序等。

详细介绍实验中使用到的重要概念和技术,例如面向对象编程、类和对象的定义、继承和多态等。

给出相关的示例代码和运行效果,以便读者更好地理解和掌握实验的过程和方法。

4.实验结果和分析展示实验运行的结果,例如输出的结果、图表和数据等。

对实验结果进行详细的分析和解释,例如根据结果说明实验目标是否达到,是否存在问题和改进的空间等。

进一步讨论实验结果的影响和应用,例如对其他领域的相关研究或项目的意义和启示。

5.结论总结实验的主要内容和得到的经验教训,例如掌握了Java编程语言的基础知识和核心概念。

指出实验的成功和不足之处,以及对未来工作的展望和改进的方向。

提出对Java实验的建议和改进意见,以便进一步提升实验效果和学习效果。

总结本文详细介绍了Java实验的目的和背景,实验环境的配置和使用,以及实验方法和过程的展示和分析。

通过对实验结果的观察和解释,结合对实验的总结和改进的建议,可以得出可以提升Java实验效果和学习效果的结论。

Java作为一种广泛应用的编程语言,在软件开发中有重要的地位和应用价值,通过实验的深入学习和实践,可以更好地掌握和应用Java编程技术。

java实验2实验报告1

java实验2实验报告1

java实验2实验报告1Java 实验 2 实验报告一、实验目的本次 Java 实验 2 的主要目的是通过实际编程操作,深入理解和掌握Java 语言中的一些重要概念和技术,包括面向对象编程的基本思想、类和对象的创建与使用、方法的定义与调用,以及异常处理等方面的知识。

通过实践,提高我们的编程能力和解决问题的能力。

二、实验环境本次实验使用的开发工具是 IntelliJ IDEA,Java 版本为 JDK 18。

操作系统为 Windows 10。

三、实验内容1、设计一个简单的学生类(Student)包含学生的姓名(name)、学号(studentID)、年龄(age)等属性。

定义构造方法用于初始化学生对象的属性。

定义获取和设置学生属性的方法。

2、实现一个计算学生平均年龄的方法接受一个学生对象数组作为参数。

计算并返回学生的平均年龄。

3、异常处理在计算平均年龄的方法中,处理可能出现的除数为 0 的异常情况。

四、实验步骤1、创建学生类(Student)```javapublic class Student {private String name;private int studentID;private int age;public Student(String name, int studentID, int age) {thisname = name;thisstudentID = studentID;thisage = age;}public String getName(){return name;}public void setName(String name) {thisname = name;}public int getStudentID(){return studentID;}public void setStudentID(int studentID) {thisstudentID = studentID;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}}```2、计算平均年龄的方法```javapublic class AverageAgeCalculator {public double calculateAverageAge(Student students) {int totalAge = 0;int studentCount = studentslength;for (Student student : students) {totalAge += studentgetAge();}if (studentCount == 0) {throw new ArithmeticException("除数不能为 0,学生数组为空。

java课程设计实验报告

java课程设计实验报告

java课程设计实验报告Java课程设计实验报告。

一、实验目的。

本次实验旨在通过设计一个简单的Java程序,加深对Java语言的理解和应用,同时锻炼学生的编程能力和解决问题的能力。

二、实验内容。

本次实验要求设计一个简单的学生成绩管理系统,实现对学生成绩的录入、查询、修改和删除等功能。

具体要求如下:1. 设计一个学生类,包括学生的基本信息(学号、姓名、性别等)和成绩信息(语文、数学、英语等科目成绩)。

2. 实现学生成绩的录入功能,可以一次性录入多个学生的成绩信息。

3. 实现学生成绩的查询功能,可以根据学号或姓名查询学生的成绩信息。

4. 实现学生成绩的修改功能,可以修改指定学生的成绩信息。

5. 实现学生成绩的删除功能,可以删除指定学生的成绩信息。

三、实验设计。

在本次实验中,我首先设计了一个学生类,包括学号、姓名、性别和成绩等属性,并提供了相应的构造方法和get、set方法。

然后,我设计了一个学生成绩管理系统的主类,其中包括录入、查询、修改和删除等功能的实现。

在录入功能中,我使用Scanner类实现了从控制台输入学生信息的功能,并将学生信息保存到一个ArrayList中。

在查询功能中,我通过学号或姓名遍历ArrayList,找到相应的学生信息并输出。

在修改功能中,我同样通过遍历ArrayList找到指定学生信息,并提供修改选项,用户可以选择要修改的成绩信息进行修改。

在删除功能中,我也是通过遍历ArrayList找到指定学生信息,并进行删除操作。

四、实验结果。

经过一系列的调试和测试,我成功实现了学生成绩管理系统的设计要求。

用户可以通过简单的命令行界面,实现学生成绩的录入、查询、修改和删除等功能。

系统运行稳定,操作简单,符合设计要求。

五、实验总结。

通过本次实验,我对Java语言的面向对象编程有了更深入的理解,掌握了ArrayList的使用方法,提高了编程能力和问题解决能力。

同时,通过设计一个实用的学生成绩管理系统,我也加深了对Java语言的应用和实践,为以后的学习和工作打下了坚实的基础。

java实训报告范文(共10篇)

java实训报告范文(共10篇)

java 实训报告范文(共 10 篇)辽宁建筑职业学院《Java 高级应用》实训报告课题名称:婚庆公司网站专业:软件技术班级:xxxxxxxxxx学号:姓名:xxxx 指导教师:xxx二O 一三年十二月三十日成绩评定标准:目录一、课程设计目的 ................ .. (3)二、课程设计题目描述和要求 ...... .. (3)三、课程设计报告内容 ............ .. (4)设计方案的论证 .................. .. (4)设计概述 ........................ .. (4)设计步骤 ........................ .. (4)课程设计的模块及功能 .............. .. (4)开发环境......................... .. (8)四、程序流程图与功能结构图 ...... .. (9)五、结论............................ .. (10)六、心得体会 .................... .. (11)七、参考书目 .................... .. (12)八、附录 ........................ .. (13)一、课程设计目的专业能力目标1.掌握规划网站的内容结构,目录结构,链接结构的方法。

2.熟练掌握网页制作软件的基本操作,和使用技能。

3.掌握使用 JAVA 语言进行面向对象设计的基本方法,提高运用分析问题,解决问题的能力。

4.提高我们对 JAVABEN 组建的掌握和运用能力,让我们更熟练应用图像的界面。

5.掌握页面的整体控制和头部内容的设置方法。

6.熟练掌握动态网站相关组件的设计:servelet、javabean、jsp、过滤器等。

7.熟练建立各种形式的超链网站测试的方法。

通用能力目标1、合理安排自己的任务及时间,来完成本次课题。

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实验报告_实验二

Java实验报告_实验二

Java实验报告_实验⼆实验2 类和对象【实验宗旨】每天做⼀点编程练习。

【实验⽬的】1、学习和掌握Java创建对象的⽅法。

2、学习和掌握通过创建对象、使⽤类的⽅法。

3、学习和掌握Java类定义的⽅法。

4、了解类设计的⼀般原则。

【实验内容】1、(Java API类的应⽤)使⽤java.util.Random类,创建种⼦是1000的Random对象,然后使⽤nextInt(100)⽅法显⽰0到100 之间前50个随机整数。

【实验预习】创建Random对象,含有1000个种⼦,然后输出其中的前50个⽆输⼊,创建Random random = new Random(1000);利⽤for循环输出前50的随机数。

【实验过程及结果记录】import java.util.Random;public class JavaText {public static void main(String[] args) {Random random = new Random(1000);for (int i = 0; i < 50; i++)System.out.print(random.nextInt(100) + " ");}}【实验总结】练习产⽣随机数的⽅法(Random).2.(使⽤StackOfIntegers类,显⽰素数因⼦)编写⼀个程序,提⽰⽤户输⼊⼀个正整数,然后以降序显⽰它的所有最⼩因⼦。

例如:如果整数为120,那么显⽰的最⼩因⼦为5、3、2、2、2。

使⽤StackOfIntegers类存储因⼦(如:2、2、2、3、5),获取之后按倒序显⽰这些因⼦。

【实验预习】练习类的调⽤,使⽤StackOfIntegers类【实验过程及结果记录】import java.util.*;import java.awt.*;import javax.swing.*;public class zhiyinshu{public static void main (String[] args) {StackOfIntegers h1 =new StackOfIntegers(); StackOfIntegers h2 =new StackOfIntegers();String str=JOptionPane.showInputDialog(null,"请输⼊⼀个正整数","分解质因数",JOptionPane.QUESTION_MESSAGE); int yuanshu = Integer.parseInt(str);int i=2;int b=0;int c=0;do{i=2;b=0;do{if(yuanshu%i==0){yuanshu=yuanshu/i;h1.jilu(i);b=1;}i++;}while(b==0&&i}while(ih1.jilu(yuanshu);c=h1.getsize();for(int v=0;vh2.jilu(h1.esc());for(int v=0;vSystem.out.print(""+h2.esc()+"\n"); }}class StackOfIntegers {private int size;private int[] zhan;public static final int a=16;public StackOfIntegers(){this(a);}public StackOfIntegers(int n){zhan = new int[n];}public void jilu(int up) {if(size>=zhan.length){int[] temp = new int[zhan.length * 2];System.arraycopy(zhan,0,temp,0,zhan.length);zhan=temp;}zhan[size++]=up;}public int esc(){return zhan[--size];}public int getsize(){return size;}}【实验总结】练习了创建随机数的⽅法以及Java的输出⽅法,在编码的过程中还是经常出现⼤⼩写打错的情况。

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

实验内容:创建一个java项目,命名为experiment2。

(如何创建项目参考《实验一》的项目创建方法。

)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。

组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。

通过容器的add方法把组件加入到容器中。

1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。

(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。

java实验报告

java实验报告

java实验报告Java实验报告。

一、实验目的。

本实验旨在通过对Java编程语言的学习和实践,加深对Java语言特性和编程技巧的理解,提高编程能力和解决问题的能力。

二、实验内容。

1. 学习Java语言的基本语法和数据类型;2. 掌握Java语言的流程控制和函数调用;3. 熟悉Java语言的面向对象编程特性;4. 实践Java语言的异常处理和文件操作;5. 编写一个简单的Java程序,实现特定的功能。

三、实验过程。

在实验过程中,首先我通过阅读相关的教材和资料,系统地学习了Java语言的基本语法、数据类型、流程控制和函数调用。

然后,我深入理解了Java语言的面向对象编程特性,包括类、对象、继承、多态等概念,并通过实例加深了对这些概念的理解和掌握。

接着,我学习了Java语言的异常处理和文件操作,了解了如何在Java程序中处理异常和进行文件的读写操作。

最后,我根据所学知识,编写了一个简单的Java程序,实现了一个特定的功能,通过实际的编程实践,巩固了所学知识,提高了编程能力。

四、实验结果。

经过一段时间的学习和实践,我成功地完成了实验要求,掌握了Java语言的基本语法和编程技巧,能够熟练地编写简单的Java程序,并且对Java语言的面向对象编程特性、异常处理和文件操作有了较为深入的理解和掌握。

五、实验总结。

通过本次实验,我深刻地认识到了学习和实践的重要性。

只有通过不断地学习和实践,才能够真正地掌握知识和技能。

在今后的学习和工作中,我将继续努力,不断地学习和实践,提高自己的编程能力和解决问题的能力,为将来的发展打下坚实的基础。

六、致谢。

在此,我要感谢老师和同学们在学习和实践中给予我的帮助和支持,没有你们的帮助和支持,我无法顺利地完成本次实验。

同时,我也要感谢自己的努力和坚持,是你们让我不断地成长和进步。

以上就是本次实验的全部内容,谢谢阅读!。

java实习报告范文5篇

java实习报告范文5篇

java实习报告范文5篇2019优秀java实习报告范文(一)一:实习介绍1)实习题目学生信息管理系统的设计与开发2)实习目的《Java程序设计》课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三周的实践教学,旨在提升本专业学生对此课程中的理论知识的综合应用能力、提高学生的逻辑思维能力、软件开发能力。

本次课程实习要求学生用Java技术在Windows平台下开发学生信息管理系统。

通过此程序的开发能够切实提高学生的程序设计水平,在实践中掌握面向对象程序设计的开发思想。

3)开发环境操作系统;Windows XP编程环境:MyEclipse 6.0主要技术:Java Swing实现窗体界面JDBC实现数据库操作系统架构:三层架构(MVC)+DAO设计模式数据库:MySQL5.0二:课设内容;1)系统功能需求学生信息管理系统主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。

我们的目标就是为该系统提供前台用户界面设计以及后台连接数据库程序设计,系统程序界面采用Java Swing组件实现,数据库操作采用JDBC 实现。

学生信息管理系统要面对教师和学生用户。

对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。

对于学生,不需要查询自己的基本信息,只需要查询成绩。

为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩。

教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。

在查询功能里面,可以选择是查询学生基本信息,还是查询学生成绩信息。

在查询学生基本信息时,可以从依据不同字段,即学生信息表的不同属性进行查找。

在查找学生成绩信息时,只能依据学生姓名和学号进行查找。

在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录。

java课程设计设计实验报告

java课程设计设计实验报告

java课程设计设计实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等基本知识,培养学生运用Java语言解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和编程规范;(2)掌握Java中的基本数据类型、运算符、表达式;(3)了解Java的流程控制语句,如if、for、while等;(4)熟悉Java数组、字符串、集合等数据结构的使用;(5)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等;(6)掌握Java异常处理机制和文件操作。

2.技能目标:(1)能够使用Java编写简单的程序,实现基本的功能;(2)能够运用面向对象编程思想,设计并实现具有一定复杂度的程序;(3)具备阅读Java代码的能力,能够理解并修改他人编写的程序;(4)掌握使用Java开发工具,如Eclipse、IntelliJ IDEA等;(5)了解Java程序的调试和性能优化方法。

3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生主动学习的动力;(2)培养学生团队合作精神,提高学生沟通协作能力;(3)培养学生面对挑战、解决问题的信心和勇气;(4)培养学生具有良好的代码规范和编程习惯。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.第一章:Java入门,介绍Java编程语言的基本概念、环境搭建和基本语法;2.第二章:基本数据类型和运算符,学习Java中的整数、浮点数、字符、布尔等数据类型以及运算符;3.第三章:流程控制语句,学习if、for、while等流程控制语句的使用;4.第四章:数组和字符串,学习数组的声明、初始化和使用,字符串的创建、操作和转换;5.第五章:集合框架,学习List、Set、Map等集合接口及其实现类的使用;6.第六章:面向对象编程,学习类、对象、封装、继承、多态等概念及应用;7.第七章:异常处理和文件操作,学习Java异常处理机制和文件读写方法;8.第八章:Java编程实践,通过案例分析法和实验法,巩固所学知识,提高实际编程能力。

java课设报告

java课设报告

二、实验原理
1.下载最新版本的 JDK,并安装。
2.设置环境变量 PATH, CLASSPATH,使得 Java 程序能正确编译和执行。 3.在 Textpad (或 JCreator )环境下编写一个 HelloWorld.java 程序,在 DOS
提示符下编译并执行这个程序。
4.编写一个类 A,它位于包 a 中,保存到 A.java 中,再编写一个类 B,它位于
每条记录前面以一个大写字母开头,表示这条记录是什么类型的事务。在不同的大
写 字 母 后 面 是 不 同 的 信 息 格 式 。 所 有 的 字 段 也 是 以 tab 键 分 开 的 ( 见
Transactions.txt 文件格 式)。
5.以'O' 开头的事务表示这是一个发货订单, 即某一种货物应该发给
Point3D p3d1 = new Point3D(0,0,0); Point3D p3d2 = new Point3D(3,4,5);
System. out .print( " 三维空间内两点之间距离: " ); System. out .println( distance_3D ( p3d1, p3d2));
满足下列要求:
( 1) Point2D 有两个整型成员变量 x, y ( 分别为二维空间的 X,Y 方向坐标 ) ,
Point2D 的构造方法要实现对其成员变量 x, y 的初始化。
( 2) Point2D 有一个 void 型成员方法 offset(int a, int b)
,它可以实现
Point2D 的平移。 ( 3) Point3D 是 Point2D 的直接子类,它有有三个整型成员变量 x,y,z ( 分别
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java课程设计报告课目:计算器学院:基础学院班级:光信息2009-1学生:指导教师:丁振凡张晓瑞辅导教师:江宇完成时间:2010年7月1日课程设计(论文)任务书基础学院光信息专业2009-1班一、课程设计(论文)题目:计算器二、课程设计(论文)工作:自2010 年6 月28 日起至2010 年 7月4日止三、课程设计(论文) 地点: 8-606四、课程设计(论文)内容要求:1.本课程设计的目的1)使学生掌握软件开发的基本工作流程;(2)巩固JA V A程序设计课程所学的内容;(3)培养学生的计算机思维能力以及合作的精神;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求1)基本要求:(1)研究课程设计任务,并进行系统需求分析;(2)对系统进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;(3)实现各功能模块代码;(4)组装各模块,并测试、完善系统。

2)创新要求:在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化.3)课程设计论文编写要求1)要按照书稿的规格打印誊写课程设计论文(2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结(3)论文装订按学校的统一要求完成4)参考文献:[1]杜春涛《面向对象程序设计—Java语言》中国铁道出版社[2]丁振凡《Java语言实用教程》北京邮电大学出版社5)课程设计进度安排内容天数地点系统总体设计 1 实验室软件设计及调试 2 实验室、图书馆答辩及撰写报告 2 实验室、图书馆学生签名:2010年7月3日课程设计(论文)评审意见(1)课程设计过程(20分):优()、良()、中()、一般()、差();(2)是否完成调试,系统运行效果(30分):优()、良()、中()、一般()、差();(3)回答问题(20分):优()、良()、中()、一般()、差();(4)课程设计报告(30分):优()、良()、中()、一般()、差();(5)格式规范性及考勤是否降等级:是()、否()评阅人:职称:教授2010年 7月5日计算机设计摘要我们设计的程序是一个GUI界面简单的Java计算机程序,具有良好的界面,使用人员能快捷就方便的进行操作,及时准确的获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

可以进行简单的四则运算(加、减、乘、除)我们组长是陈晨,组员分别是刘芬、朱苏敏、许丹凤。

我主要负责最后把程序的一些细节问题点缀。

在编写程序的过程中,我们大家一起发现问题讨论问题,并且努力去解决问题,充分的发挥了小组合作的精神。

在实验报告中我们会对程序代码进行解释分析,然后把运行过程中遇到的问题拿出来进行讨论。

关键字:Java 计算器类方法事件目录1、项目内容、要求与分组情况总体介绍 (1)2、概要设计 (7)2.1开发工具及环境 (7)2.2任务及需求分析 (7)2.3功能模块设计 (7)2.4工作原理 (7)3、运行调试与分析讨论 (3)4、体会与小结 (8)5、参考文献 (10)附录:(源程序) (10)1、项目内容、要求与分组情况总体介绍(1)项目内容、要求:本次实验的目标是制作一个计算器,可以进行简单的四则运算(加、减、乘、除)。

(2)分组情况:陈晨:主要负责把计算器的大概框架给磨合出来,运用所学书本上只是整合代码。

刘芬:把程序进行初步修改。

朱苏敏:把程序运行中的错误进行修改。

许丹凤;最后把程序的一些细节问题点缀。

2、概要设计2.1开发工具及环境文本编辑器:记事本;运行环境:命令提示符(DOS环境)。

2.2 任务及需求分析设计简易计算器程序,实现简单的运算(加减乘除),具体任务如下:(1)计算器窗口界面布局设计;(2)各种计算功能的算法分析;(3)编程实现具体的计算功能;(4)运行测试程序,调试纠正运行错误。

(5)调试无误,运行,测试具体算法功能。

2.3 功能模块设计计算器的模块设计图如下:2.4 工作原理点击相应的数字键,即会在显示文档中显示该数字。

进行相应的运算,首先输入第一个计算数字,然后输入运算符,再输入第二个计算数字,点击“=”按钮即得计算结果。

同时,还有归零功能,点击该按钮,显示栏中即可归零。

3、运行调试与分析讨论调试运行1+6运算,运算过程如下所示:(1)命令提示符中运行计算器程序,如下图:(2)计算器界面显示,输入第一个运算值“1”,如下图:3)输入运算符“+”,如下图:4)输入第二个运算值“6”,如下图所示:5)点击计算器按钮“=”,得出计算结果。

如下图:分析讨论出现的问题:问题1:一按按钮“归零”小计算器就会关闭。

解决方法:在把数字加到面板上时没有很好的处理各个按钮的位置,把“归零”和“关闭”的弄错了。

重新检查一遍后分析出问题出现的原因,将“归零”和“关闭”的位置互换,再次运行程序,可行。

问题2:计算器精确度不好。

解决方法:用户交互的数据平时使用字符串存放,需要计算时再将其转换double型。

问题3:对于按钮的处理出现了一定的问题解决方法:由于刚开始对题目的审题不清楚,没有按钮,后来重新设置按钮的时候,选择对所有按钮一个一个赋值,出现的问题比较大,按钮出现了混乱,同时很多按钮都无法使用,比如说按“=”时无法出现结果。

后来经过一个下午的上网查资料以及组员讨论修改,最后先定义一个数组,再将所有的按钮按照一定的顺序赋值在这个数组中,这样即简单了很多,同时很好的解决了这个问题。

4、设计体会与小结通过这次JA V A的课程设计,学到了很多东西。

以前上JA V A 课,老师讲课速度有点快,一些细节在老师讲课的时候就没能够很好的理解。

这次JA V A课程设计考虑到自身的能力,我们小组选择了编写较简单的计算器程序,在编写程序的过程中,出现了较多的问题,这是对我们这一学期所学Java知识的巩固和考验。

在编写程序的过程中,我们发现了自身很多缺陷,比如说对于基础知识掌握的不够牢固,导致编写程序时问题不断,大大小小的各种问题层出不穷,结果就是每次遇到问题时要花很多时间翻阅书本、在百度搜索来、询问懂的同学等来解决问题,不过,也正因为这个,随着程序设计的结束,我们对于JA V A的了解更进了一步,以前不是很理解的部分在我们的脑海中渐渐清晰了起来。

在小组的合作中,我们充分的发挥了小组合作的精神,从一开始的无从下手到最后的程序的成功运行,无不撒满了我们的汗水,是我们共同努力的结晶。

组长陈晨付出了最多的努力,整个程序大致的框架主要是她构想出来的,接下来的落实行动是我们大家一起执行的,当有建议时我们会主动提出,在大家的讨论下决定去留;当出现问题时我们会一起根据提示找出问题,想尽一切办法去解决;当不知道程序该如何进行下去时,我们会一起翻书找实例,根据书本及网上的知识尝试着每一种可能。

虽然我们每个人掌握的Java知识并不是很全面,但是人多力量大,在我们的不懈努力下还是成功完成了课程设计。

过程是艰辛且烦人的,成功的喜悦足以弥补这一切,这次课程设计带给了我们每个人无比丰富的收获,相信通过这次对我们学习的验收及考验,在接下来的过程中,我们会学得更好,收获更多的!5、参考文献[1]杜春涛,《面向对象程序设计—Java语言》,中国铁道出版社.[2]丁振凡,《JAVA语言实用教程》,北京邮电大学出版社.[3]附录:(源程序)import java.awt.*;port ;public class jisuanqi extends WindowAdapter {//Panel p1 = new Panel();Panel p2 = new Panel();Panel p3 = new Panel();//定义面板TextField txt;//文本框private Button[] b = new Button[17];//定义17个按钮private String ss[] = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2","3", "*", "归零", "0", "=", "/", "关闭" };//ss[]是一个数组static double a;//双精度static String s, str;//定义自变量,创建对象public static void main(String args[]) {(new jisuanqi()).frame();//frame()是一个方法}public void frame() {Frame fm = new Frame("简单计算器");//创建一个面板for (int i = 0; i <= 16; i++) {b[i] = new Button(ss[i]);//赋值按钮}for (int i = 0; i <= 15; i++) {p2.add(b[i]);//把按钮增加到面板上去}b[16].setBackground(Color.blue);//设置背景颜色txt = new TextField(15);//设置文本框大小txt.setEditable(false);for (int i = 0; i <= 16; i++) {b[i].addActionListener(new buttonlistener());//添加监听者}b[16].addActionListener(new close());//设置监听者fm.addWindowListener(this);fm.setBackground(Color.black);p1.setLayout(new BorderLayout());p1.add(txt, "North");//文本框的位置p2.setLayout(new GridLayout(4, 4));//把按钮设置成4行4列p3.setLayout(new BorderLayout());p3.add(b[16]);fm.add(p1, "South");fm.add(p2, "Center");fm.add(p3, "North");//定义位置fm.pack();fm.setVisible(true);}public void windowClosing(WindowEvent e) {System.exit(0);//关闭面板但不关闭内部文件}class buttonlistener implements ActionListener { public void actionPerformed(ActionEvent e) { Button btn = (Button) e.getSource();if (btn.getLabel() == "=") {jisuan();str = String.valueOf(a);txt.setText(str);s = "";} else if (btn.getLabel() == "+") {jisuan();txt.setText("");s = "+";} else if (btn.getLabel() == "-") {jisuan();txt.setText("");s = "-";} else if (btn.getLabel() == "/") {jisuan();txt.setText("");s = "/";} else if (btn.getLabel() == "*") {jisuan();txt.setText("");s = "*";} else {txt.setText(txt.getText() + btn.getLabel()); if (btn.getLabel() == "归零")txt.setText("");}}public void jisuan() {//具体计算方法if (s == "+")a += Double.parseDouble(txt.getText());else if (s == "-")a -= Double.parseDouble(txt.getText());else if (s == "*")a *= Double.parseDouble(txt.getText());else if (s == "/")a /= Double.parseDouble(txt.getText());elsea = Double.parseDouble(txt.getText());}}}class close implements ActionListener {//推出监听 public void actionPerformed(ActionEvent e) {System.exit(0);}}。

相关文档
最新文档