《Java程序设计》课程设计报告 (1)
java程序设计》课程设计

java程序设计》课程设计一、教学目标本节课的教学目标是使学生掌握Java程序设计的基本概念和语法,培养学生编写简单的Java程序的能力。
具体分为三个部分:1.知识目标:让学生了解Java程序设计的基本概念,包括类、对象、方法、变量等;掌握Java语法,包括数据类型、运算符、控制结构等。
2.技能目标:使学生能够使用Java编写简单的程序,如计算器、打招呼等;培养学生分析问题、解决问题的能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生编程的自信心,让学生体验到编程的乐趣。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java简介:介绍Java的发展历程、特点和应用领域。
2.Java程序结构:讲解Java程序的基本组成部分,包括类、对象、方法等。
3.Java语法:讲解Java的基本语法,包括数据类型、运算符、控制结构等。
4.编写简单的Java程序:通过实例让学生动手编写简单的Java程序,巩固所学知识。
三、教学方法为了提高教学效果,本节课将采用多种教学方法:1.讲授法:讲解Java的基本概念和语法。
2.案例分析法:分析实际编程案例,让学生更好地理解Java程序设计。
3.实验法:让学生动手编写Java程序,培养实际编程能力。
4.讨论法:鼓励学生提问、讨论,提高学生的参与度和积极性。
四、教学资源为了支持教学,本节课将使用以下教学资源:1.教材:《Java程序设计基础》2.多媒体资料:PPT、编程实例及视频教程3.实验设备:计算机、网络环境4.在线编程平台:如LeetCode、牛客网等,用于学生练习和交流五、教学评估本节课的评估方式包括以下几个部分:1.平时表现:观察学生在课堂上的参与程度、提问和回答问题的积极性和表现,占总评的20%。
2.作业:布置与课程内容相关的编程作业,要求学生独立完成,占总评的30%。
3.考试:进行一次课程考试,测试学生对Java程序设计的基本概念和语法的掌握程度,占总评的50%。
《Java 》课程设计报告

对系统包结构、文件结构列表说明,如表2-1、2-2所示。
表2-1
包名
作用
Java.awt.Insets
包含用于创建用户界面和绘制图形图像的所有类
Java.awt.event.ActionEvent
定义了动作的类
Java.awt.event.ActionListener
包含用于创建用户界面和绘制图形图像的所有的类
四、分析总结
这个模块应该是本程序的核心模块了,很多逻辑上的错误都发生过,应该是写的最为艰辛的模块了。不过好在程序本身的逻辑并不是太过复杂,走了几次弯路也就完成的差不多了。
4
系统运行结果
5课程设计总结
一个好的算法可以让你的程序更健壮,编写的代码量更少,处理异常一直是JAVA里的常事,通过试验,让我对基础的知识更加深入了解,也对更改代码错误有了一定的提升,能看的懂错误的代码错在哪里,并进行修改,使其正确。
y1= 5;
y= 100;
java.util.Random ran =newjava.util.Random();
x= ran.nextInt(600) + 10;
}
if(y> 630) {
if(isexist) {
isAgain();
}
stopThread();
}
try{
Thread.sleep(speed);
二、分层结构及调用关系说明
三、关键代码分析
publicvoidrun() {
drawOval();
}
/**
*创建线程的方法
*/
publicvoiddrawOval() {
UI.text_field.setText(count+"分");
java课程设计报告

《Java程序设计》课程设计报告题目:万年历学院:数学与统计专业:信计学生姓名:梦超然学号:************指导教师:***2017年7月9 日1需求分析1.1需求分析本程序的要求为:(1)能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。
(2)能够按照月份格式显示,或按照星期格式显示。
(3)能够显示系统时间。
(4)能够设置闹钟。
(5)能够查询若干国际大城市(分布在不同时区)的时间。
1.2功能设计本程序要构建的万年历程序,其功能有以下几个方面:一、设计程序运行界面,具有显示各种功能的面板模块,并对各功能按钮就行时间监听;二、程序需要显示1800年到2100年的日历,包括公历、农历、时间所对应的星期。
要求系统能够从界面上的操作获取公历日期,计算其所对应的星期和相应的农历并显示到界面上;三、程序要求显示系统时间,并能设置闹铃。
要求可以自己设置一个时间点,在这一时间点做出相应的响应;四、查询显示若干国际城市不同时区的时间,这里只需要调用Java的系统里就可以解决。
五、对时间的更新,日历显示要求关联系统时间,能在进入程序时显示系统时间对应的日历,并能返回当天日历;六、程序界面的美观设计和人性化结构,要求具有良好的人机交互,容易理解界面内容,易操作;七、就现在的水平来说,功能1、2、3、5是可以实现,功能4 有待研究,可能遇到的问题是按钮对时间的监听处理可能难度较大,还有就是在公历转农历中可能比较难获取相应的公历变化日期。
2.概要设计2.1程序设计思路1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。
然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。
java课程设计报告

java课程设计报告Java课程设计报告。
一、引言。
Java作为一种跨平台的编程语言,具有广泛的应用领域和强大的功能,因此在计算机专业课程中占据着重要的地位。
本次课程设计旨在通过对Java语言的学习和实践,提高学生对于面向对象程序设计的理解和应用能力,同时锻炼学生的编程实践能力和团队协作能力。
二、课程设计内容。
1. 课程设计主题。
本次课程设计的主题为“学生成绩管理系统的设计与实现”。
通过该主题的设计,旨在让学生通过实际的项目开发,掌握Java语言的基本语法和面向对象的编程思想,同时对软件开发的整个流程有一个清晰的认识。
2. 课程设计目标。
(1)掌握Java语言的基本语法和面向对象的编程思想;(2)了解软件开发的整个流程,包括需求分析、设计、编码、测试和维护;(3)培养学生的团队协作能力和解决问题的能力;(4)通过实际项目的开发,提高学生的编程实践能力。
三、课程设计过程。
1. 需求分析。
首先,团队成员对学生成绩管理系统的功能需求进行了详细的分析和讨论,确定了系统的基本功能模块,包括学生信息管理、课程信息管理、成绩管理等。
通过需求分析,明确了系统的功能和性能需求,为后续的设计和编码工作奠定了基础。
2. 系统设计。
在需求分析的基础上,团队成员进行了系统的整体设计和模块设计。
通过UML建模工具,绘制了系统的用例图、类图、时序图等,明确了各个模块之间的关系和交互流程。
同时,团队成员还对数据库的设计进行了详细的讨论和设计,确定了数据库的表结构和字段。
3. 编码实现。
在系统设计完成后,团队成员按照设计文档进行了编码实现工作。
在编码的过程中,严格按照Java语言的规范进行编码,同时注重代码的可读性和可维护性。
通过团队的协作和沟通,确保了各个模块的功能实现和整体功能的完整性。
4. 测试与调试。
在编码实现完成后,团队成员进行了系统的测试与调试工作。
通过单元测试、集成测试和系统测试,发现并修复了系统中存在的各种问题和bug。
JAVA_课程设计报告

《J AVA 程序设计》课程设计报告设计题目:学生信息管理系统学院名称:信息工程学院专业班级:13计本 1姓名:学号:目录一需求分析。
3二概要设计。
3三详细设计。
33.1 数据库设计。
33.2 模块及窗体设计。
33.2.1 数据库模块设计。
33.2.2 用户登录识别模块。
53.2.3 用户信息管理模块。
6(1)密码修改。
6(2)用户信息添加和删除。
83.2.4 学生息管理模块。
10(1)添加信息。
10(2)信息查看。
11(3)信息修改。
12(4)删除信息。
143.2.5 系统管理模块。
153.2.6 主窗体菜单设计。
15四软件测试。
15五总结。
15 参考资料:....................................................... 17一需求分析本系统的主要目的就是实现学生信息管理,使学生信息管理工作更加容易,从而提高工作效率,降低管理成本.系统中需要对拥护身份进行管理,采取登陆进入系统的形式.二概要设计/************************************************************************概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。
项目的成功取决于设计的好坏,而概要设计则是整个设计的关键部分。
概要设计的主要任务是将用户的需求划分为不同的功能,然后将这些功能细分成模块,并给模块一些规则约束,以达到各个模块之间可以相互交流的目的。
概要设计关乎到系统的整体架构,因此想做好一个概要设计,不仅仅要熟悉用户的业务流程,还要具备相当丰富的设计经验。
2.1概要设计的原则概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。
概要设计要坚持以下几个原则。
(1)细分原则:软件系统都是由很多不同的模块组成,当设计一套软件时,要先将所有的功能分解。
java课程设计报告

for(int i=0;i<cells.length;i++){ Cell1 cell=cells[i]; g.fill3DRect(cell.getX()*10, cell.getY()*10, WormStage1.CELL_SIZE, WormStage1.CELL_SIZE, true); } } /**爬行的方法**/ public void creep(){ for(int i=cells.length-1;i>=1;i--){ cells[i]=cells[i-1]; } cells[0]=createHead(currentDirection); } private Cell1 createHead(int direction){ int x=cells[0].getX(); //获得蛇的头结点的坐标 int y=cells[0].getY(); switch(direction){ case UP : y--;break; case DOWN : y++;break; case RIGHT : x++;break; case LEFT : x--;break; } return new Cell1(x,y);} (5).判断蛇是否吃到食物。 public boolean creep(Cell1 food){ Cell1 head =createHead(currentDirection); boolean eat=head.getX()==food.getX()&&head.getY()==food.getY(); //蛇的头 结点与食物结点是否一样 if(eat){ cells=Arrays.copyOf(cells, cells.length+1); //数组扩容 } for(int i=cells.length-1;i>=1;i--){ cells[i]=cells[i-1]; } cells[0]=head; return eat; } public boolean creep(int direction,Cell1 food){ if(direction+currentDirection==0){ //方向相反 return false; } currentDirection=direction; Cell1 head =createHead(currentDirection); boolean eat=head.getX()==food.getX()&&head.getY()==food.getY(); //蛇的头结点与食物结点是否一样
JAVA程序设计 课程设计报告

课题: 计算器姓名:学号:同组姓名:专业班级:指导教师:设计时间:2011年1月目录目录 (2)1、绪论 (3)2、设计思路 (3)3、算法实现及分析 (5)4、运行调试与讨论 (6)5、设计体会与小结 (6)参考文献 (7)附录(源代码) (8)1、绪论Java课程设计是计算机科学与技术专业的学生必做的集中实践性环节之一,是学习完《java程序设计》课程后进行的一次全面的综合练习。
通过课程实践使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。
本课程设计是为了配合《JA V A程序设计》课程而开设的,通过设计完成的大型程序,使学生掌握小型应用程序的开发、算法的编写、JA V A语言的算法转换成程序并用上机调试的基本方法。
这是一个关于Java课程设计的报告,实现的是用Java实现一个复杂的计算器,通过编写程序已经正确实现了题目所要求的功能,在这份报告中主要包括论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录(源代码)等!2、设计思路利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。
给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。
除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。
至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。
当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!3、算法实现及分析在具体实现的过程先是在显示屏中输入数据,然后开始按按钮实现自己所要求的功能看看其结果是否是自己做要求的,如果不是则要求查看程序是否正确!在这组中,我主要负责实现数字0到9的加减运算功能。
Java程序的设计实验报告.docx

信息科学与工程学院课程设计题目:图书管理系统姓名:晓雨颖学号: ************201312140120班级: 13 级本科四班物联网课程: Java 程序设计任课教师梦琳2014 年 12 月 20 日课程设计任务书及成绩评定题目图书管理系统课程设计的任务及要求任务 :设计一个功能齐全,实用的XXX软件。
软件设计合理、界面设计美观。
具体要求 :写明该软件完成了哪些功能课程设计所需的软件、硬件等硬件环境: Iterl(R) Core(TM)2 Duo CPU,主频 2.31GHz;存3G;硬盘 320G 以上; 1024× 768 显示分辨率软件环境:JDK6.0 以上、 eclipse等设计报告:1、设计目的和任务2、总体设计:包括程序设计组成框图、流程图。
3、详细设计:包括模块功能说明:函数功能、入口及出口参数说明,函数调用关系描述等。
4、调试与测试:包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
5、源程序清单和执行结果:清单中应有足够的注释。
任课教师评语成绩:教师签名:日期:目录1前言 (3)1.1设计目的 (4)1.2设计任务 (4)1.3运行环境 (4)2总体设计 (5)2.1设计原理 .............................................错误 ! 未定义书签。
3详细设计实现 . . (5)3.1代码 (5)3.2登陆后事件处理 (12)4心得体会 ................................................错误 ! 未定义书签。
1 前言Java 的前身是 Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大围的Internet上。
1995年, Java 语言的名字从Oak编程了 Java。
1997 年 J2SE1.1 发布。
1998 年 J2SE1.2 发布,标志 Java2 的诞生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南工程学院计算机学院课程设计报告书学号:201312211115 姓名:陈晏猛学院:计算机学院专业班级:软件工程1341 专业课程:Java程序设计指导教师:汪伟2014 年12 月27 日目录第1章计算器的设计与实现 (1)1.1设计目的..................... ..... ... (2)1.2系统实现思路...................... ... (3)1.3系统详细设计.............. ..... . (4)1.4系统调试运行................ ..... .. (7)第2章2048的设计与实现 (1)1.1设计目的..................... ..... ... (2)1.2系统实现思路...................... ... (3)1.3系统详细设计.............. ..... . (4)1.4系统调试运行................ ..... .. (7)第3章课程设计体会 (8)参考文献................. .... .... (9)附录................... .... .... .... . (10)第1章计算器的设计与实现1.1 设计目的本课程设计的目的就是通过一次集中的强化训练,使学生能巩固自己的学识,补充未学的但有必要的内容。
进行课程设计的目的在于加深对程序设计基础中理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计的能力。
同时,在程序设计方法及上机操作方面受到比较系统严格的训练,培养软件工作所需要的动手能力。
(1)使学生更深入的理解和掌握课程中有关基本概念,程序设计的思想和方法。
(2)培养学生综合运用所学知识独立完成课题的能力。
(3)培养学生勇于探索,严谨推理,实事求是,有错必改,用实践来验证理论,全方位考虑问题等科学技术人员应具有的素质。
(4)提高学生对工作认真负责,一丝不苟,对同学团结友爱,协作攻关的基本素质。
(5)培养学生从资料文献,科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
(6)对学生掌握知识的深度,运用理论去处理问题的能力,实验能力,课程设计的能力,书面及口头表达能力进行考核。
1.2系统实现思路1.2.1系统目标编写程序代码设计一个计算器,要有以下几个功能:二进制,八进制,十进制及十六进制的加,减,乘,除,乘方,取模等简单计算:科学计算函数,包括(反)正弦,(反)余弦,(反)正切,(反)余切,开方,指数等函数运行。
我们可以把计算器的编译分成两大步骤:第一步骤:设计出计算器的雏形(框架),也就是计算器的排版布局;第二步骤:逐步实现计算器的功能。
1.2.2主题功能进行的运算单视图实现的计算:加,减,除,乘;用科学视图实现科学运算:用简进制用户根据程序提示,输入数字,选择要转换,三角函数,开方,对数,求底等。
1.2.3系统的功能模块划分进入计算器主菜单,计算器按功能模块划分为:简单计算器模块和科学计算模块。
简单计算器模块包括:加法运算,减法运算,乘法运算,除法运算。
科学计算器模块包括:进制转换,三角函数,对数,开方。
根据用户需求选择需要的计算模式。
其模式图形如1.2.3图:1.3系统详细设计从表面上看,计算器就包括一个文本框和一系列按钮(面板)。
文本框在上面,按钮平均分布在文本框的下方。
例如文本框的初建模型如下图所示:1.3.1文本框的设计从表面上看,计算器就包括一个文本框和一系列按钮(面板)。
文本框在上面,按钮平均分布在文本框的下方所以整体把文本框看做一部分,把按钮看做一部分,采用BorderLayout布局较好。
JPanel panel2 = new JPanel(new BorderLayout());panel2.add("Center", display);panel2.add("East", reset);添加到窗口上方JPanel panel1 = new JPanel(new GridLayout(4, 5));for (i = 0; i < str.length; i++) {buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}添加到窗口中区,即下方。
其次,按钮我们可以看出是平均分布在面板上的(四列五行)采用GridLayout布局较好。
最后,布局分析好了,该添加按钮和文本框了。
当然文本按钮都需要在窗口类中定义。
再加上代码方法就会如图所示:这样计算器的雏形出来了。
1.3.2源程序import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JCalculator extends JFrame implements ActionListener { int i;// 数字和字符串运算符按钮。
private final String[] str = { "7", "8", "9", "+", "-", "4", "5", "6", "*", "/", "1", "2", "3", "0", ".", "=" ,"%","+/-","倒数","sqrt"};// 创建按钮。
JButton[] buttons = new JButton[str.length];// 创建重置按钮。
JButton reset = new JButton("C");//文本框。
JTextField display = new JTextField("0")//无参构造函数,界面布局public JCalculator() {super("Calculator");// panel1操作区// 设置布局管理器为GridLayout,将界面区域划分为4行5列。
JPanel panel1 = new JPanel(new GridLayout(4, 5));for (i = 0; i < str.length; i++) {buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}//panel2文本输出和重置区JPanel panel2 = new JPanel(new BorderLayout());panel2.add("Center", display);panel2.add("East", reset);// 界面JPanelgetContentPane().setLayout(new BorderLayout());getContentPane().add("North", panel2);getContentPane().add("Center", panel1);// 每位操作按钮添加动作监听器;for (i = 0; i < str.length; i++)buttons[i].addActionListener(this);// "重置"按钮添加监听器。
reset.addActionListener(this);// "显示"按钮添加监听器。
display.addActionListener(this);// 初始化窗口大小。
setSize(400,300);//初始化窗口的位置setLocation(300,200);// 显示窗口。
setVisible(true);//关闭窗口addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent we) {System.exit(0);}});}//实现监听器double number = 0.0;String operator = "=";boolean isFirstDigit = true;//数字处理。
public void handleNumber(String key) {if (isFirstDigit)display.setText(key);elseif ((key.equals(".")) && (display.getText().indexOf(".") < 0)) display.setText(display.getText() + ".");elseif (!key.equals("."))display.setText(display.getText() + key);isFirstDigit = false;}//重置计算器。
public void handleReset() {display.setText("0");isFirstDigit = true;operator = "=";}//运算符操作public void handleOperator(String key) {if (operator.equals("+")) //加法运算number += Double.valueOf(display.getText());elseif (operator.equals("-"))//减法运算number -= Double.valueOf(display.getText());elseif (operator.equals("*"))//乘法运算number *= Double.valueOf(display.getText());elseif (operator.equals("/"))//除法运算number /= Double.valueOf(display.getText()); elseif (operator.equals("="))//赋值运算number = Double.valueOf(display.getText());elseif (operator.equals("sqrt"))//平方根运算number= Math.sqrt(number);elseif (operator.equals("%"))//百分号运算number= number /100;elseif (operator.equals("+/-"))//正负号运算number =number*(-1);elseif (operator.equals("倒数"))//倒数运算if (number==0){System.out.println("输入有误,0没有倒数!");}else {number=1/number;}display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}//监听器public void actionPerformed(ActionEvent e) {Object target = e.getSource();String label = e.getActionCommand();if (target == reset)handleReset();elseif ("0123456789.".indexOf(label) > 0)handleNumber(label);elsehandleOperator(label);}//main函数public static void main(String[] args) {new JCalculator();}}1.4系统调试运行根据以上程序设计的内容,为了避免比必要的错误出现,严谨求实,遵循探索精神,要对源程序进行自我检测(系统的调试运行),看是否存在严重的错误和警告。