Java课程设计实验报告及全部源码流程图

合集下载

Java课程设计报告记事本源代码有流程图

Java课程设计报告记事本源代码有流程图

Java课程设计报告记事本源代码有流程图Java课程设计报告题目:简单记事本程序的设计年级专业:计算机科学与技术学号:学生姓名:指导老师:完成时间:2010年 6月 8 日第 1 页共 11 页目录摘要 ..................................................................... . (1)前言 ..................................................................... . (2)1需求分析 ..................................................................... ............................................................ 2 1.1需求分析 ..................................................................... ......................................................... 2 1.2功能设计 .............................................................................................................................. 3 2.概要设计 ..................................................................... ............................................................ 3 2.1程序设计思路 ..................................................................... ................................................. 3 2.2程序运行界面 ..................................................................... ................................................. 3 2.3模块说明图 ..................................................................... ..................................................... 4 2.4程序流程图 ..................................................................... ..................................................... 5 2.5程序相关说明 ..................................................................... ................................................. 6 3.程序详细设计与分析 ..................................................................... ......................................... 6 3.1.初始化组件 ..................................................................... ..................................................... 6 3.2.构建菜单栏及其下拉菜单 ..................................................................... .............................. 6 3.3.“文件”菜单的事件监听 ..................................................................... .............................. 7 3.4.“编辑”菜单的事件监听 ................................................................................................... 8 3.5.异常处理 ..................................................................... ......................................................... 9 4(测试分析 ..................................................................... ....................................................... 10 5(源程序清单 ..................................................................... ................. 错误~未定义书签。

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告
《Java语言程序设计实验报告》
实验目的:通过本次实验,学生将学会使用Java语言进行程序设计,掌握Java
语言的基本语法和编程技巧,并能够编写简单的Java程序。

实验内容:本次实验主要包括以下内容:1. Java语言的基本语法和数据类型;2. Java程序的输入输出;3. Java程序的流程控制;4. Java程序的函数和类的定义;
5. Java程序的异常处理等。

实验步骤:1. 阅读相关的Java语言教材和资料,了解Java语言的基本概念和
语法规则;2. 编写简单的Java程序,包括输入输出、流程控制、函数和类的定
义等;3. 调试和运行编写的Java程序,查看程序的运行结果;4. 对程序进行优
化和改进,提高程序的效率和性能。

实验结果:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,能够编写简单的Java程序,并能够运用Java语言解决实际的问题。

实验总结:通过本次实验,学生将对Java语言有了更深入的了解,掌握了Java
语言的基本概念和编程技巧,能够独立编写简单的Java程序。

同时,学生也将
培养了良好的编程习惯和解决问题的能力,为今后的学习和工作打下了良好的
基础。

结语:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,
为今后的学习和工作打下了良好的基础。

同时,也希望学生能够在今后的学习
和工作中不断提高自己的编程能力,为科技创新和社会发展做出更大的贡献。

实验报告附源代码(Java程序设计)

实验报告附源代码(Java程序设计)

计算机系课程大作业实验报告实验项目名称银行ATM系统的设计与实现所属课程名称Java程序设计实验类型综合设计姓名提交时间2012-5-10班级学号成绩计算机实验室System.exit(0);7 查询利率设计用户可查询利率,利率可在程序中修改,但不允许用户自己修改。

JOptionPane.showMessageDialog(null,"您的利率是: " + rate);8文件设计存取款记录都可以在文件中体现。

存款记录只要代码如下:try {FileWriter fw = new FileWriter( "d:\\atm.txt ",true);PrintWriter out = new PrintWriter(fw);out.println("存款: "+money);out.close();fw.close();}catch (IOException e) {System.out.println( "Write file error! ");e.printStackTrace();}取款代码与存款相似。

实验步骤、测试数据及实验结果1.登陆界面(1)输入正确的帐号和密码(2)输入密码错误如上再次输入错误,则出现如下界面。

程序被退出。

2.登陆正确进入选择界面3.输入选项1,出现查询余额界面4.输入选项2,出现存款界面(1)如输入不是整百的金额则不能存入金额(2)输入整百的金额则存入5.存入金额后,查询余额为本金加利息6.输入选项3,出现取款界面(1)如输入不是整百的金额则不能取款(2)输入整百的金额则取款成功7.输入选项4,出现利率界面8.输入选项5,出现退出界面9.记录文件内容。

java类的设计实验报告

java类的设计实验报告

java类的设计实验报告Java 类的设计实验报告一、实验目的本次实验的主要目的是深入理解和掌握 Java 类的设计原则、方法和技巧,通过实际的编程实践,提高对面向对象编程思想的应用能力,培养良好的编程习惯和代码规范。

二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容1、设计一个简单的学生类(Student),包含学生的姓名(name)、年龄(age)、学号(studentId)等属性,并提供相应的构造方法、getter 和 setter 方法。

2、设计一个课程类(Course),包含课程名称(courseName)、课程编号(courseId)、授课教师(teacher)等属性,同样提供构造方法和相关的访问方法。

3、设计一个学生选课类(StudentCourse),用于关联学生和课程,包含学生对象(student)、课程对象(course)、选课时间(selectTime)等属性,并实现相应的方法来获取和设置这些属性。

四、实验步骤(一)学生类(Student)的设计```javapublic class Student {private String name;private int age;private String studentId;//无参构造方法public Student(){}//有参构造方法public Student(String name, int age, String studentId) {thisname = name;thisage = age;thisstudentId = studentId;}// getter 和 setter 方法public String getName(){return name;}public void setName(String name) {thisname = name;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}public String getStudentId(){return studentId;}public void setStudentId(String studentId) {thisstudentId = studentId;}}```(二)课程类(Course)的设计```javapublic class Course {private String courseName;private String courseId;private String teacher;//无参构造方法public Course(){}//有参构造方法public Course(String courseName, String courseId, String teacher) {thiscourseName = courseName;thiscourseId = courseId;thisteacher = teacher;}// getter 和 setter 方法public String getCourseName(){return courseName;}public void setCourseName(String courseName) {thiscourseName = courseName;}public String getCourseId(){return courseId;}public void setCourseId(String courseId) {thiscourseId = courseId;}public String getTeacher(){return teacher;}public void setTeacher(String teacher) {thisteacher = teacher;}}```(三)学生选课类(StudentCourse)的设计```javapublic class StudentCourse {private Student student;private Course course;private String selectTime;//无参构造方法public StudentCourse(){}//有参构造方法public StudentCourse(Student student, Course course, String selectTime) {thisstudent = student;thiscourse = course;thisselectTime = selectTime;}// getter 和 setter 方法public Student getStudent(){return student;}public void setStudent(Student student) {thisstudent = student;}public Course getCourse(){return course;}public void setCourse(Course course) {thiscourse = course;}public String getSelectTime(){return selectTime;}public void setSelectTime(String selectTime) {thisselectTime = selectTime;}}```(四)测试类```javapublic class Test {public static void main(String args) {//创建学生对象Student student1 = new Student("张三", 20, "001");//创建课程对象Course course1 = new Course("Java 编程","001","李老师");//创建学生选课对象StudentCourse studentCourse1 = new StudentCourse(student1,course1, "2023-09-01");//输出学生选课信息Systemoutprintln("学生姓名:"+ studentCourse1getStudent()getName());Systemoutprintln("学生年龄:"+ studentCourse1getStudent()getAge());Systemoutprintln("学生学号:"+ studentCourse1getStudent()getStudentId());Systemoutprintln("课程名称:"+ studentCourse1getCourse()getCourseName());Systemoutprintln("课程编号:"+ studentCourse1getCourse()getCourseId());Systemoutprintln("授课教师:"+ studentCourse1getCourse()getTeacher());Systemoutprintln("选课时间:"+studentCourse1getSelectTime());}}```五、实验结果与分析通过运行测试类,成功输出了学生选课的相关信息,包括学生的姓名、年龄、学号,课程的名称、编号、授课教师以及选课时间。

Java实验报告及其源代码 Java基本程序设计

Java实验报告及其源代码  Java基本程序设计

实验1 Java基本程序设计一、实验目的1.掌握设置Java 程序运行环境的方法;2.了解Java 的数据类型;3.掌握变量的声明方式;4.理解运算符的优先级;5.掌握Java 基本数据类型、运算符与表达式;6.掌握Java基本输入输出方法。

二、实验环境1.PC微机;2.DOS操作系统或 Windows 操作系统;3.Java sdk程序开发环境、eclipse集成环境。

三、实验内容1.货币转换在控制台下输入任意一个美元数值,将其转换成等价的人民币数值(假设100美元=636.99人民币)后在消息框中输出。

2.输出两个数的较大值分别在两个对话框中输入两个任意的数值,显示其较大的数值。

四、实验步骤1.新建Java项目,并创建package ;2.创建两个java类文件,分别命名为 CurrencyConversion.java 和valueCompare.java ;3.在 CurrencyConversion.java 中写入代码:package FirstExperiment;import java.util.Scanner;import javax.swing.JOptionPane;public class CurrencyConversion {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("Please input the money(dollar): ");Scanner input = new Scanner(System.in);double moneyOfDollar = input.nextDouble();double moneyOfRMB = moneyOfDollar * 6.3699 ;String output = "$" + moneyOfDollar + "=" + "¥" + moneyOfRMB ;JOptionPane.showMessageDialog(null, output);}}4.在 valueCompare.java 中写入代码:package FirstExperiment;import javax.swing.JOptionPane;public class valueCompare {public static void main(String[] args) {String stringNumber1 =JOptionPane.showInputDialog("Please input the first number") ;double number1 = Double.parseDouble(stringNumber1) ;String stringNumber2 =JOptionPane.showInputDialog("Please input the second number") ;double number2 = Double.parseDouble(stringNumber2);if(number1 > number2)JOptionPane.showMessageDialog(null, number1 + " is bigger");elseJOptionPane.showMessageDialog(null, number2 + " is bigger");}}5.分别编译并且调试五、实验结果1.题目1实验结果:输入100后:2.题目2实验结果:六、实验总结这是我第一次做java实验,配置环境的过程比较麻烦,但是好在自己比较细心,所以配置环境的过程相对比较顺利。

实验报告java程序设计

实验报告java程序设计

实验报告java程序设计一、引言本次实验是针对Java程序设计的实践性活动。

Java是一种广泛应用于各种平台的编程语言,具有跨平台、面向对象、安全性高等特点。

通过本次实验,我们将学习如何利用Java语言进行程序设计,并进一步熟悉Java的基本语法和面向对象的思想。

二、实验目的1. 掌握Java的基本语法和面向对象的思想;2. 熟悉Java程序的编写和运行过程;3. 学会利用Java进行简单的程序设计。

三、实验内容3.1 实验环境为了进行本次实验,我们需要安装以下工具和环境:- JDK(Java Development Kit):Java开发工具包,包含了编译器和相关工具;- IDEA(Integrated Development Environment for Java):一种常用的Java集成开发环境。

3.2 实验步骤1. 安装JDK和IDEA,并完成相应的配置工作;2. 创建一个Java项目,并创建一个名为`HelloWorld`的Java类;3. 在`HelloWorld`类中编写代码,实现输出`Hello, World!`的功能;4. 编译和运行程序,观察结果。

四、实验过程和结果4.1 实验过程首先,我们需要安装JDK和IDEA,并完成相应的配置工作。

然后,我们打开IDEA,创建一个新的Java项目。

接着,在该项目中创建一个名为`HelloWorld`的Java类。

在`HelloWorld`类中,我们编写以下代码:javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}完成代码编写后,我们点击IDEA工具栏上的编译按钮,对代码进行编译。

编译成功后,我们点击运行按钮,运行程序。

4.2 实验结果在IDEA的控制台窗口上,我们可以看到以下输出:Hello, World!这就是我们期望的输出结果,说明我们成功地使用Java编写并运行了一个程序。

Java课程设计实验报告及全部源码流程图

Java课程设计实验报告及全部源码流程图

课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。

2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。

二、实验要求1.问题描述准确、规范。

2.程序结构合理,调试数据准确、有代表性.。

3.界面布局整齐,人机交互方便。

4.输出结果正确。

5.正确撰写实验报告。

三、实验内容编写一个GUI程序实现日历的功能。

一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。

可以实现显示时钟,时钟能进行整点报时。

可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。

四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。

2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。

3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。

4. 根据实验结果,写出合肥工业大学实验报告。

实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。

5.详细的上机实验步骤见任务分工及程序设计进度表。

五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

java实验报告代码

java实验报告代码

java实验报告代码Java 实验报告代码引言:Java 是一种面向对象的编程语言,广泛应用于软件开发领域。

本实验报告将介绍我在学习 Java 过程中的实验代码,并对其进行分析和总结。

一、实验背景在学习 Java 编程语言时,实验是一种非常重要的学习方式。

通过实验,我们可以将理论知识应用于实际项目中,提升自己的编程能力和解决问题的能力。

二、实验目的本次实验的目的是通过编写 Java 代码,实现一些基本的功能,包括输入输出、条件语句、循环语句、数组和函数等。

三、实验过程1. 输入输出在 Java 中,可以使用 Scanner 类来实现输入输出操作。

下面是一个示例代码:```javaimport java.util.Scanner;public class InputOutputExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个整数:");int num = scanner.nextInt();System.out.println("您输入的整数是:" + num);}}```上述代码中,我们使用 Scanner 类的 nextInt() 方法来读取用户输入的整数,并使用 System.out.println() 方法将结果输出到控制台。

2. 条件语句条件语句是根据条件判断来执行不同的代码块。

下面是一个示例代码:```javapublic class ConditionalStatementExample {public static void main(String[] args) {int num = 10;if (num > 0) {System.out.println("这个数是正数");} else if (num < 0) {System.out.println("这个数是负数");} else {System.out.println("这个数是零");}}}```上述代码中,我们使用 if-else 语句来判断一个数是正数、负数还是零,并根据不同的条件输出不同的结果。

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

课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。

2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。

二、实验要求1.问题描述准确、规范。

2.程序结构合理,调试数据准确、有代表性.。

3.界面布局整齐,人机交互方便。

4.输出结果正确。

5.正确撰写实验报告。

三、实验内容编写一个GUI程序实现日历的功能。

一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。

可以实现显示时钟,时钟能进行整点报时。

可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。

四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。

2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。

3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。

4. 根据实验结果,写出合肥工业大学实验报告。

实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。

5.详细的上机实验步骤见任务分工及程序设计进度表。

五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。

整体程序运行流畅、功能齐全、符合操作习惯。

下面是程序运行效果截图:日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):备忘录主界面(实现备忘录的添加,及当前日历的显示):备忘录主界面(实现备忘录的显示,及对当前备忘录的修改删除等):时钟主界面(显示当前时间,实现报整点报时功能):六、实验总结两周的课程设计结束了,在这其中历尽酸甜苦辣咸各种滋味,不过收获颇丰。

从学习C语言、数据库等等计算机编程类课程开始,自己始终有种感觉,那就是太理论化了、缺少实践。

而这次的Java程序设计可以说与以往大不相同,先是在课堂上老师讲述了有关的基础理论、基本语法知识,而后再加上这两周的课程设计,可以说是真正能够体会到程序编程的乐趣,也第一次发现自己原来对程序设计是如此的感兴趣。

尤其是由于课程时间较紧,课上时间老师只是简单给我们讲述了一下Java Swing的基础知识,并没有去深入,而在此次课程设计中大量用到的监听事件的有关知识需要自己去查标准文档,去网上找相关系料,这无疑对自己是一个挑战。

但是两周下来,我做到了,我独立完成了对备忘录程序的编写,累积下来这部分共涉及到包括Action Listener,Mouse Listener,Menu Listener,Document Listener 等各种各类监听18个监听,分为6个类,累计完成程序千余行。

而给我印象最深刻的便监听了,可以说是整个备忘录的大部分代码都是与监听相关,这也是让我我学会了对程序监听的运用,当然只是学会远远谈不上精通。

我编写的类有Test、MainWin、MyMenuListener1、PoliceListen、PoliceListen2、MyWindowListener。

其中Test类主要是用来定义备忘录主窗口的各种组件以及在相关组件上添加监听以实现备忘录添加、修改、删除等功能。

MainWin类主要是用来创建Test对象,用以显示窗口的。

MyMenuListener1主要是给今日待办菜单定义菜单监听,从而使其选中后能显示今日待办的备忘记事,而当未被选中时相关的文字、按钮又都会隐藏掉。

PoliceListen主要是用来定义日历日期按钮事件的监听,用以监听当点击相关日期时会弹出相应日期的备忘记事的窗口来。

PoliceListen2主要是定义备忘录窗口中添加按钮的时间监听,使其被点击后能够显示添加备忘记事功能的相关功能按钮和相关文本区。

MyWindowListener主要是定义备忘录窗口的窗口监听,和PoliceListen共同使用来对窗口的激活状态进行监听,以保证窗口能够按照预定计划弹出和关闭。

在实验过程中遇到了大大小小各种困难,通过自己查资料、询问老师、同学讨论基本解决了这些困难。

下面我就说一说在这次课程设计中遇到的问题有哪些,以及自己的解决办法和从中得出的经验心得。

首先在对备忘录窗口的布局问题上,一开始采用流式布局,按钮少的时候效果还算说得过去,但是当按钮一多整个布局就不那么好控制了了。

为了实现预期的效果,最终采用了null布局,在该种布局下,需要为每个组件指定坐标,否则组件将不会显示。

首先我的想法是,根据窗口的高度和宽度来对按钮进行布局,我相信这种方法肯定是正规程序设计中在布局是采用的方法,但是摆在眼前的问题是时间比较紧,没有大量的时间来进行这种比较精确地布局。

因此,最终是通过不断地尝试来给组件赋予坐标值,最终效果是肉眼感觉起来是不错的,如果时间充足当然可以做的更精确一点。

第二个问题也是一个比较简单的问题,因为刚开始不熟悉监听,因此遇到了弹出一个窗口后,再点击这个按钮本来按照效果不应该在弹出窗口的,但是依旧能弹出。

为了解决这个问题,自己想了一个办法那就是标记,当有窗口弹出时,将标记值变成1,而当标记值为1的时候,点击此按钮将不会触发监听事件,只有当标记值为0的时候该监听事件才能起到作用,然后当此窗口的状态为关闭时,又会将该标记值变成0,这样的效果主要是通过PoliceListen和MyWindowListen两个类来完成的,其中PoliceListen是鼠标监听,而MyWindowListen则是窗口监听。

这是这一个监听最终在自己的努力下成功了,才使自己对监听事件产生了浓厚的兴趣,以至于后来加了那么多监听虽然困难很多也没有退缩。

自己也从中体会到平时的程序之所以能够相应操作的原理,那就是对命令、对动作进行监听。

而且,有时候看起来非常简单的功能实现起来也不是很容易,就像本例中的所说的那样。

在完成了第一个监听以后,又在Test里面加入了N多个监听,这些监听大部分是ActionListener监听,也即最常有的一类监听。

为了避免类过多,我大多采用了匿名类的方式内嵌于Test类中。

这些监听的设计中,大部分没有遇到问题,有少数是因为自己的逻辑顺序不对而没有达到预期的效果,最后都能调整过来。

遇到的问题是读取选中日期,以及在那三个下拉框中怎么根据年份和月份来添加后面的日期(如此叙述可能不太明了,老师可以对照程序截图中的备忘录主窗口中的那个日期下拉框来看),其实最后解决了就会发现,其实这些也并不难,在日期处理上只要监听年份和月份。

年份判断该年是否为闰年,月份判断是那个月,最终可以确定该月应该添加多少item到下拉框中。

而读取选中日期则是将日历主窗口文本框中的年份、下拉框中的月份以及点击按钮上的数字读取出来将他们分别设置成下拉框中的默认年月日则可。

另外为了使得后面的备忘记事文件名称长度一致,在进行加入的时候会先比对一下该数字是否为两位数,如果不是两位数则将前面加0后再导入。

下一个问题则是在监听文本框的问题上,因为课本上对DocumentListener也是简单介绍了下,为了实现预想的效果,即在文本框有文字的时候下面的确定键可用,没有文字的时候下面的确定键不可用而只有取消键可用,通过查阅标准文档和询问老师,最终弄清楚了每个抽象方法的含义,顺利的实现了该功能。

最后,在如何保存每日记事的问题上,解决这一问题可以有两种思路,一种是搭建一个数据库,两一种是通过保存文件的形式。

毫无疑问,通过写入数据库的方式更有难度、更有挑战性,但是考虑到在备忘录方面一直都是我一个人在做,精力方面可能不够,最后我采用了写文件的形式来保存,每日的记事。

后来发现有的组使用数据库实现的,最后他们组得分B+,我们得分B,其实有时候输在了不敢尝试上、或者说分工更明确一点更好(毕竟有些东西一个人做了,别人或许有帮忙的心也差不上手了)。

当然虽然写文件的形式比较简单一点,这中间也要做好相关逻辑的设计。

在写文件的时候采用选中日期为文件名的方式进行保存,在读文件时候则读取以选中日期文件命名的文件,将其显示在文本区中。

另外在修改了当天记事后,炫耀对文件以同样的方式进行保存。

最后该程序还有不足,比如说未能实现相关的时间提醒的功能、有些细节处理的不够使得部分地方缺少人性化。

对于代码这部分,自己第一次编写者这些代码有些地方还需要锻炼,比如说对类的划分、对相关语句进行打包成一个函数来重复调用提高代码的重用性等等,因为有些语句(像设置组件可见不可见的语句)在大量的地方都用到了,但是我写的时候只是把他们复制下来,这部分代码应该做成一个函数,或者抽象成类效果能更好点。

验收结束的那一刻所有的压力、所有的因遇到而尝到的苦涩最终都化成满满的喜悦,或者在某种程度上更是一种成就感。

七、附件1.程序流程图、类结构图(1)程序流程图该程序可以分为三个部分,即日历主程序和时钟、备忘录两个程序。

其中时钟程序是通过日历主界面上的按钮触发事件来启动并创建相应的窗口,备忘录程序是通过日历上按钮事件触发的。

日历主窗口可以实现分页显示、上下翻动、为每月选定背景等功能,时钟窗口可以实现指针和数字时钟显示、整点报时功能,备忘录程序可以通过创建、修改、删除已选定日期为文件名的文件来实现添加、修改、删除多条记事的功能。

整个程序流程如下图(由于整个流程图较大,为了使其在听一个版面中显现出来,因此有些字体可能偏小,老师如若看不清,可以用Visio打开放大查看)所示:(2)类图日历程序类图:时钟主程序主要包含四个类,其中OurCalender、MainWin、ACalender 三个类是都是JFrame的子类。

OurCalender里包含程序的入口,Mainwin主要用来创建窗口对象,ACalender主要用来创建日历对象,NongLi主要用来进行农历的显示。

日历程序类图如下所示:。

时钟类图:时钟类主要包含DrawClock和Clock类,其中DrawClock类主要是用来创建时钟对象,而Clock类主要是用来创建窗口对象和时钟监听来进行整点报时。

相关文档
最新文档