文档库 最新最全的文档下载
当前位置:文档库 › JAVA项目实验报告

JAVA项目实验报告

JAVA项目实验报告
JAVA项目实验报告

JA V A课程项目报告

项目题目:利用JA V A实现一个小时钟的程序专业班级:10软件工程

学生姓名:闵楠

学生学号:E01014135

利用JAVA实现一个时钟的小程序

1.软件开发的需求分析

在当今的信息时代,时钟已经成为人们生活中必不可少的应用工具,Java语言是当今流行的网络编程语言,它具有面向对象、与平台无关、安全、多线程等特点。使用Java 语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java 语言的重要概念及其面向对象的特性,锻炼我们熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。

此次课程设计的题目为简单的小时钟程序设计,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。

2.具体实现

2.1设计思路

Java是一种简单的,面向对象的,分布式的,解释的,键壮的,安全的,结构中立的,可移植的,性能很优异的,多线程的,动态的语言。Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。这将减少平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。

因此运用JAVA程序编写小时钟程序,实现简单显示时间的功能。本次课程设计做的是Java简单小时钟,它是图形界面、线程、流与文件等技术的综合应用,其界面主要采用了java.awt包,javax.swing包等。程序实现了小时钟的基本功能。

2.2设计方法

在设计简单小时钟时,需要编写5个Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Client.java。

小时钟除了需要编写的上述5个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。

2.3 运行环境

CPU:Pentium 2.8GHz以上

内存:256MB以上

硬盘空间:80G以上

操作系统:Windows XP

运行环境:JDK,JCreator

2.4 程序功能图及程序相关说明

2.4.1 主功能框

图1 程序基本框图

表1 小时钟基本功能表

2.4.2 程序分析

程序中引入的包:

package Clock

import java.awt.Clock

import java.awt.Graphics

import java.awt.event.WindowAdapter

import java.awt.event.WindowEvent

import java.util.Calendar

import java.util.GregorianCalendar

用户自定义类:

类名:Clock

作用:定义小时钟

继承的父类:JFrame

public class clock extends JFrame{

定义的对象:

ClockPaint

size

Resizable

Location

Title

Visible

WindowListener,WindowClosing

主要成员方法:

public void center //定义小程序查看器的位置public void actionPerformed //定义处理异常机制

定义子类:ClockPaint

继承的父类名:JPanel

继承的接口名:Runnable

class ClockPaint extends JPanel implements Runnable

int h, m, s // 小时,分钟,秒

主要成员方法:

public ClockPaint

this.x = x

this.y = y

this.r = r

s = now.get(Calendar.SECOND) * 6 // 获得秒转换成度数

m = now.get(Calendar.MINUTE) * 6 // 获得分钟

h = (now.get(Calendar.HOUR_OF_DAY) - 12) * 30+ now.get(Calendar.MINUTE) / 12 * 6 // 获得小时

主要成员方法:

public void paint(Graphics g) // 清屏

super.paint(g)

g.setColor(Color.BLACK)

g.fillRect(0, 0, r * 3, r * 3) // 画圆

g.setColor(Color.WHITE)

g.drawOval(x, y, r * 2, r * 2) // 秒针

g.setColor(Color.RED)

int x1 = (int) ((r - 10) * Math.sin(rad * s))

int y1 = (int) ((r - 10) * Math.cos(rad * s))

g.drawLine(x + r, y + r, x + r + x1, y + r - y1) // 分针

g.setColor(Color.BLUE)

x1 = (int) ((r - r / 2.5) * Math.sin(rad * m))

y1 = (int) ((r - r / 2.5) * Math.cos(rad * m))

g.drawLine(x + r, y + r, x + r + x1, y + r - y1) // 时针

g.setColor(Color.CYAN)

x1 = (int) ((r - r / 1.5) * Math.sin(rad * h))

y1 = (int) ((r - r / 1.5) * Math.cos(rad * h))

g.drawLine(x + r, y + r, x + r + x1, y + r - y1) // 数字

g.setColor(Color.YELLOW)

int d = 29

for (int i = 1; i <= 12; i++)

x1 = (int) ((r - 10) * Math.sin(rad * d))

y1 = (int) ((r - 10) * Math.cos(rad * d))

g.drawString(i + "", x + r + x1 - 4, x + r - y1 + 5)

d += 30 // 小点

d = 0;

for (int i = 0; i < 60; i++)

x1 = (int) ((r - 2) * Math.sin(rad * d))

y1 = (int) ((r - 2) * Math.cos(rad * d))

g.drawString(".", x + r + x1 - 1, x + r - y1 + 1)

d += 6 // 显示时间

//Calendar now1 = new GregorianCalendar();

//g.drawString(now1.get(Calendar.HOUR_OF_DAY) + ":"

//+ now1.get(Calendar.MINUTE) + ":" + now1.get(Calendar.SECOND),

//0, 10);

主要成员方法:

public void run

捕获异常

catch (Exception ex)

完成显示实时数据

s += 6

if (s >= 360)

s = 0

m += 6

if (m == 72 || m == 144 || m == 216 || m == 288)

h += 6

if (m >= 360)

m = 0

h += 6;

if (h >= 360)

h = 0;

this.repaint();

3.设计结果与分析

将5个Java源文件:Server.java、Objecting.java、LogIn.java、ClientUser.java、Client.java。分别编译这5个Java源文件,或运行“javac *.java”命令,编译全部的源文件,然后运行连接服务器的主类,即运行Clock类。连接完毕后在运行注册的主函数类,即运行LogIn类。

运行Clock.java,运行结果如下:

图2查看实时时间

4. 设计总结

4.1 遇到的问题和解决方法

在用JA VA编写程序时,我遇到了很多困难,对很多的接口,类,方法都不是很熟悉,只好采用查看API文档,一个一个进行对照学习,同时也上网查看了有关小时钟的相关描述,还向同学请教了,翻阅了相关的书籍。尤其是因为有些方法需要使用JDK1.6才行,所以在学校网络机房一开始不能运行,在安装了1.6版本后运行正常了。

4.2 设计心得

花费了近一个多星期的时间,查阅了许多相关的资料,终于把这个Java小时钟,程序基本实现了该课程设计的基本要求。在设计的过程中了解到自己的知识还是比较有限,更肯定了自己在以后学习编程的道路上坚定不移的但由于只学习了一个学期的JAVA语言,自己水平有限,使得程序还有不是很完善回顾起此次java,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握这门技术,也提高了自己的独立思考的能力。在设计的过程中遇到问题,可以说得上是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。

通过此次课程设计,将我本学期所学的JAVA知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的资料。让我不仅学会了书本上的知识,还让自己能够面对困难并且克服它。

5.主要代码:

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.util.Calendar;

import java.util.GregorianCalendar;

import javax.swing.JFrame;

import javax.swing.JPanel;

/**

* 时间类

* *

*/

public class Clock extends JFrame {

/**

*

*/

private static final long serialVersionUID = 1L; public Clock() {

ClockPaint cp = new ClockPaint(20, 20, 70);

this.add(cp);

this.setSize(200, 200);

this.setResizable(false);

this.setLocation(260, 120);

this.setTitle("小时钟");

this.setVisible(true);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) { System.exit(0);

}

});

}

public static void main(String[] s) {

new Clock();

}

}

class ClockPaint extends JPanel implements Runnable { /**

*

*/

private static final long serialVersionUID = 1L;

int x, y, r;

int h, m, s;// 小时,分钟,秒

double rad = Math.PI / 180;

public ClockPaint(int x, int y, int r) {

this.x = x;

this.y = y;

this.r = r;

Calendar now = new GregorianCalendar();

s = now.get(Calendar.SECOND) * 6;// 获得秒转换成度数

m = now.get(Calendar.MINUTE) * 6;// 获得分钟

h = (now.get(Calendar.HOUR_OF_DAY) - 12) * 30

+ now.get(Calendar.MINUTE) / 12 * 6;// 获得小时 Thread t = new Thread(this);

t.start();

}

public void paint(Graphics g) {

// 清屏

super.paint(g);

g.setColor(Color.BLACK);

g.fillRect(0, 0, r * 3, r * 3);

// 画圆

g.setColor(Color.WHITE);

g.drawOval(x, y, r * 2, r * 2);

// 秒针

g.setColor(Color.RED);

int x1 = (int) ((r - 10) * Math.sin(rad * s));

int y1 = (int) ((r - 10) * Math.cos(rad * s));

g.drawLine(x + r, y + r, x + r + x1, y + r - y1);

// 分针

g.setColor(Color.BLUE);

x1 = (int) ((r - r / 2.5) * Math.sin(rad * m));

y1 = (int) ((r - r / 2.5) * Math.cos(rad * m));

g.drawLine(x + r, y + r, x + r + x1, y + r - y1);

// 时针

g.setColor(Color.CYAN);

x1 = (int) ((r - r / 1.5) * Math.sin(rad * h));

y1 = (int) ((r - r / 1.5) * Math.cos(rad * h));

g.drawLine(x + r, y + r, x + r + x1, y + r - y1);

// 数字

g.setColor(Color.YELLOW);

int d = 29;

for (int i = 1; i <= 12; i++) {

x1 = (int) ((r - 10) * Math.sin(rad * d));

y1 = (int) ((r - 10) * Math.cos(rad * d));

g.drawString(i + "", x + r + x1 - 4, x + r - y1 + 5);

d += 30;

}

// 小点

d = 0;

for (int i = 0; i < 60; i++) {

x1 = (int) ((r - 2) * Math.sin(rad * d));

y1 = (int) ((r - 2) * Math.cos(rad * d));

g.drawString(".", x + r + x1 - 1, x + r - y1 + 1);

d += 6;

}

// 显示时间

//Calendar now1 = new GregorianCalendar();

//g.drawString(now1.get(Calendar.HOUR_OF_DAY) + ":"

//+ now1.get(Calendar.MINUTE) + ":" + now1.get(Calendar.SECOND), //0, 10);

}

public void run() {

while (true) {

try {

Thread.sleep(1000);

} catch (Exception ex) {

}

s += 6;

if (s >= 360) {

s = 0;

m += 6;

if (m == 72 || m == 144 || m == 216 || m == 288) {

h += 6;

}

if (m >= 360) {

m = 0;

h += 6;

}

if (h >= 360) {

h = 0;

}

}

this.repaint();

}

}

}

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号: 31 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse 编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { "Hello java! 欢迎使用!"); } }

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。 二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.wendangku.net/doc/575383071.html,/j2se,根据提示

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页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

Javaweb实验报告材料

Javaweb高级编程实验报告 题目:出版著作登记管理系统的实现 学院:计算机与信息技术 专业:计算机科学与技术(日语强化) 年级:2011级 班级:六班 学号:20111118120018 姓名:李雪飞 完成时间:2014/6/22 1.实验目的 (1)熟练使用Eclipse、Mysql、Navicat、Tomcat等软件的安装、配置和使用。 (2)学会和运用servlet技术、log4j技术、jdom技术、ifreechart技术、struts 技术、OGNL技术、action 对象组织、页面间转接关系、数据分析、用JDBC数据库连接技术、DBCP数据库连接池、TDBC 和c3p0连接池连接数据等。 (3)运用所学软件和技术,实现一个具有增、删、改、查、打印等功能的出版著作信息管理系统。

2.实验环境及软件工具 (1)计算机windows 7系统。 (2)Eclipse、Tomcat7.0.39、Mysql5.5.27、Navicat101等软件。3.实验内容 (1)安装jdk1.7.0_15.和Eclipse,MySQL5.5.27、Navicat、Tomcat7.0并配置好环境变量。 (2)struts的配置,并利用启动服务器验证是否配置成功。 (3)根据需求进行数据分析,构建码表和主表,建立起数据库,对应的建立相应的类。 (4)建立增、删、改、查、打印以及登录、退出、错误等基本jsp 页面,用struts实现各个页面之间的跳转。 (5)连接数据库,实现新增出版著作功能、修改选定出版著作、删除选定出版著作、查看选定著作的详细信息、根据给定条件查询出版著作、打印出版著作汇总表、统计出版著作并打印。 4.实验原理 (1)创建新的动态web项目job120018。先从功能需求的角度出发,实现新增出版著作功能、修改选定出版著作、删除选定出版著作、查看选定著作的详细信息、根据给定条件查询出版著作、打印出版著作汇总表、统计出版著作并打印。再从底层数据库的角度考虑,需要著作编号、著作名称、类别、出版社、出版时间、排名、来源于何项目、项目编号等关键字。

java课程设计实验报告

Java课程设计实验报告实验题目:打字游戏小程序 专业:计算机科学与技术系 班级:1202班 成员:

Java课程设计(打字游戏小程序) 一、课程设计目的 经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥。在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识。 二、课程设计内容 1.课程设计简介 设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分。 2.设计说明 因为要进行键盘操作,所以引用了event包,还要注册事件监听。字母是随机产生的,又要用。注册了线程。还要对窗口定义坐标,防止字母出现在同一位子。并且通过一位数组来给随机出现的字母做坐标定义。主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制。 3.设计流程图 4.实现功能 随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少。 5.详细设计(源代码) 1) packageDownCharGame; import import import /** *下落的字母实体类 *@authorshenbf * */ publicclassCharEntity{ raw(g); } etY()>=480){ etX((int)()*580)+30); chs[i].setY(0);

chs[i].setColor(newColor((int)()*256), (int)()*256),(int)()*256))); chs[i].setCh((char)(65+(int)()*26))); } chs[i].down(); } repaint();tart(); } publicvoidkeyTyped(KeyEvente){ } publicvoidkeyPressed(KeyEvente){ } publicvoidkeyReleased(KeyEvente){ etCh()||key==chs[i].getCh()+32){ etY()

JavaWeb课程设计实验报告

湖南科技大学计算机科学与工程学院 WEB编程课程设计报告 题目:网上购物商店 学号:1111111111 姓名: 1 指导老师: 1 完成时间:111111111

目录 一、设计内容 (3) 二、设计方法 (4) 1、网站的整体结构设计 (4) 2、网站设计的技术方案 (5) 3、网站的界面设计 (6) 三、实现方法 (8) 1、数据库的设计 (8) 2、网站具体的实现过程 (10) 开发环境: (10) 设计思路 (10) 四、心得体会 (11)

随着互联网时代的迅猛发展,人们的生活方式已经发生了翻天覆地的变化,传统的实体店购物方式已经不能满足人们的需求,传统购物方式购物不方便,非得出门才能购物,去到了实体店有不一定有自己满意的商品,有时候会浪费大量的时间和精力。 随着网络的全面覆盖,网上支付系统的逐步完善,物流业的快速兴起,网上购物已经成为了当今购物的潮流。 网上购物商店主要满足人们足不出户就能买到自己想要的物品的需要,同时也为商家省去了昂贵的门面租赁费用,而且商品还可以卖到全国各地,大大的扩大了客源又节省了成本。 网上购物商店主要有以下几个方面的功能: 顾客可以浏览整个网站的商品,可以再网站进行注册,注册之后可以登录并购买商品,同时也可以查看和修改自己的个人信息,为了安全的需求,还可以修改密码。 商家,也就是店主,管理员,可以管理网站所出售的所有商品,同时也可以对在网站进行注册的用户进行管理。 1、用户登录、注册功能 (1)注册功能:用户进入网站,如果有兴趣在该商店购买商品,那么用户就可以注册。 (2)登录功能。已经注册的用户可以登录,登录之后方可购买商品。 (3)查看、修改用户信息功能。 (4)修改密码,为了用户安全的需要,经常更换密码可以保证用户账户的安全。 2、购物功能 (1)物品浏览:顾客进入网站,就可以浏览网站的商品。 (2)商品购买:顾客注册自己的账户,并登录之后就可以在网站购买商品了。购买商品的步骤如下; a)添加商品到购物车 b)确定购买 3、商品管理:管理网站所出售的商品。 4、用户管理:管理员对在网站注册的用户进行管理。 5、订单管理:对用户的订单进行管理。

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

javaweb实验报告——MVC

Java Web实验报告 实验要求: 设计一个Web应用程序,判断一个一元二次方程ax2+bx+c=z有几个根。该程序包括两个JSP页面,即root.jsp和result.jsp,以及一个JavaBean和一个Servlet。要求使用MVC模式实现此功能,即用户通过root.jsp输入一元二次方程a、b、c 和z的值;提交该页面后使用JavaBean存储这些值和结果;使用servlet进行判断并将结果显示到result.jsp页面中。 文件与类设计:

.

关键代码: Equation.java:(javabean设计,封装计算根数量和根的逻辑) // public int getRootcount() { double disk=b*b-4*a*(c-z);//判断有多少个根 if(disk<0)//如果没有实根 rootcount=0; else if(disk==0)//如果只有一个实根 rootcount=1; else//如果有两个实根 rootcount=2; return rootcount; } public String getRootAdd() { double disk=b*b-4*a*(c-z);//判断有多少个根 if(disk<0)//如果没有实根 rootAdd="。"; else if(disk==0)//如果只有一个实根 { double Add=(-b+Math.sqrt(disk))/(2*a); rootAdd=(":"+Add); } else//如果有两个实根 { double root1=(-b+Math.sqrt(disk))/(2*a), root2=(-b-Math.sqrt(disk))/(2*a); rootAdd=(":"+root1+" 和"+root2); } return rootAdd; }

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称: 《Java程序设计实验》 班级: 信息1202 姓名: 方逸梅 学号: 1212100231 指导老师: 费玉莲 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1、6。

(四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容与要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理与内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1. 下载、安装并设置Java SDK 软件包。 2. 熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application与Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System、out、println("Hello java! 欢迎使用!"); } } } 结果示意图1

java课程设计实验报告

一实验目的 加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。在对Java 程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。 二、实验要求 (1)问题描述准确、规范; (2)程序结构合理,调试数据准确、有代表性; (3)界面布局整齐,人机交互方便; (4)输出结果正确; (5)正确撰写实验报告。 三、设计内容 1、计算器 计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。允许正负数间的运算。要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。 2、文本编辑器 可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。其他功能参照windows的文本编辑器。

四.实验步骤 (1)上机实验之前,为课程设计的内容作好充分准备。对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容进行上机操作。录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告。 五. 源代码及运行结果 1.计算器源代码 import .*; import .*; import .*; public class jisuanqi extends WindowAdapter { , "=", "+","n!" ,"关闭" }; static double a, sum=1; static String s, str ;rame(); } public void frame() { etBackground; txt = new TextField(""); (false);ddActionListener(new buttonlistener());ddActionListener(new close()); (this); (new BorderLayout());.计算器运行界面(1)计算器主界面

完整word版,Javaweb项目实验报告

Javaweb项目编写 -----留言板的设计 指导教师:庄凯 小组成员:hx20090412 田磊 hx20090429 宋昭辉 hx20090430孔席超

1.归纳项目的功能(宏观)--UML的UseCase(用例图) 在本项目中,共有8个模块,小组成员分配如下: 孔席超:注册,登录,浏览; 田磊:发表主题,分页查看; 宋昭辉:删除主题,修改主题,发表评论。 2.根据用例图,确定功能所需要的信息(确定数据字典) 信息数据类型 用户编号Uid int 用户名username String 性别sex String 密码Password String 昵称Lovername String 创建时间Regtime Timestape 信息数据类型 主题编号tid Int 主题名称Tname String 主题内容Tcontext Text 发表时间Ttime Timestape

Context表 信息数据类型评论内容Ccontext Text 评论时间Ctime Timestape 评论编号cid Int 数据建模 数据模型之间的关系 将其转换成为真实的表

生成sql脚本 /*==================================================*/ /* DBMS name: MySQL 5.0 */ /* Created on: 2010/11/28 14:48:07 */ /*===================================================*/ drop table if exists Context; /如果存在context表将它删除 drop table if exists Topic; //如果存在topic表将它删除 drop table if exists User; //如果存在user表将它删除 /*======================================================*/ /* Table: Context */ /*======================================================*/ create table Context ( cid int auto_increment not null, //定义整形变量cid,非空tid int, //定义整形变量tid uid int, //定义整型变量uid ccontext text not null, //定义文本区ccontext,非空 ctime timestamp not null, //定义一个时间戳,非空 primary key (cid) //主键为cid ); /*====================================================*/ /* Table: Topic */ /*===================================================*/ create table Topic ( tid int auto_increment not null, //定义整形变量tid,非空uid int, //定义整型变量uid tname varchar(20) not null,//定义字符串tname,非空 tcontext text not null, //定义文本区,非空 ttime timestamp not null, //定义一个时间戳,非空 primary key (tid) //主键为tid ); /*====================================================*/ /* Table: User */ /*====================================================*/ create table User ( uid int auto_increment not null, //定义整形变量uid,非空username varchar(10) not null,//定义字符串username,非空 sex varchar(4) not null, //定义字符串sex,非空 password varchar(20) not null, //定义字符串password,非空 lovername varchar(10) not null, //定义字符串password,非空 regtime timestamp not null, //定义一个时间戳,非空 primary key (uid) //主键为uid );

JAVA实验报告

目录实验1 Java语言基础 实验2 数组和字符串编程 实验3 Java面向对象程序设计 实验4 Java异常处理 实验5 多线程编程 实验6 图形用户界面编程 实验7 输入与输出 实验8 网络编程 实验9 数据库编程

实验1 Java语言基础 一、实验目的和要求 1.实验目的 通过实验,掌握Java语言程序设计的基本方法。 学会Java语言中标示符的命名、运算符和表达式的应用。 熟练地掌握Java程序流程控制语句的应用。 2.实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。 4.有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5.使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆ ☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 二、源代码 1.package addsum; public class addsum { public static void main(String s[])

{ int sum=0; for(int i=0;i<=100;i=i+2) sum=sum+i; System.out.println(sum); } } 2.package addsum; public class shuixianhua { public static void main(String[] args) { int i, j, k; for (i = 1; i <= 9; i++) { for (j = 0; j <= 9; j++) { for (k = 0; k <= 9; k++) { if ((i * 100 + j * 10 + k) == (i * i * i + j * j * j + k * k * k)) System.out.println(i * 100 + j * 10 + k + "=" + i + "*" + i + "*"+i+"+" + j + "*" + j+ "*" + j + "+" + k+ "+" + k+ "+" + k); } } } } } 3.package addsum; public class prime { public static void main(String[] args) { System.out.println("100内的素数为:"); loop: for (int i = 2; i < 100; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) { continue loop; } } System.out.print(" " + i); } } } 4.package addsum; import java.util.Scanner; public class question4 { public static void main(String[] args) { double x,y; System.out.print("请输入x:");

JAVA WEB实验报告

沈阳工学院 综合实验验收报告题目:论坛系统的设计与实现 院系:信息与控制学院 专业:计算机科学与技术 班级学号:11301105、11301121、11301122学生姓名:李媛媛、金鑫、李福林 指导教师:靳新 成绩: 2013年12月13日

当今社会正处在网络时代,信息化大潮席卷全球,网络正以前所未有的速度在我国普及开来。网站以其独特的优势在信息化的过程中占有重要的一席。 论坛在Struts2+Hibernate框架的基础上,用当今主流的网站开发技术jsp语言进行开发。论坛将采用B/S体系结构,人们通过浏览器就可以访问论坛的主页,保证的服务器的安全。数据库采用免费,小巧,易用的SQL Server数据库。 开发BBS论坛的目的是提供一个用户交流的平台,为广大用户提供交流经验,探讨问题的网上社区。因此,BBS论坛的最基本功能是发表帖子,其次是其他人根据帖子发表自己的看法和贴主回帖等功能。此外论坛还提供用户登录和注册功能。 本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计以及实现过程。 本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型BBS论坛! 关键词:BBS,Struts,Hibernate,SQL Server

随着Internet技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web信息库的重要组成部分,自网上论坛诞生20多年以来,随着Web技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界,还是娱乐界,都有各种论坛。 本文分为两章,第一章为系统分析与设计,包括需求分析、系统功能设计、数据库设计。第二章为系统设计,包括系统框架和各功能模块。

JAVA实验报告

学生实验报告册 (理工类) 课程名称:面向对象程序设计专业班级:16计算机科学与技术(专转本)学生学号:22 学生姓名:张义丹 所属院部:计算机工程指导教师:刘晶 20 16 ——20 17 学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:Java编程基础实验学时: 6 同组学生姓名:————实验地点:工科楼A101 实验日期:实验成绩: 批改教师:刘晶批改时间:

实验1 Java编程基础 一、实验目的和要求 (1)熟练掌握及编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有和软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello world”字符串,并输出,记录操作过程。 public class Hello { public static void main(String args[]) { "Hello!"); } } (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 压缩生成".jar"文件。记录操作过程。 import .*; import class HelloApplet extends Applet { public void paint(Graphics g) { ; ("Hello!",20,20); } }

java实验报告完整版

java实验报告完整版 验报告(计算机与信息工程学院实验中心)学期: 全文结束》》-xx 课程名称: 《Java程序设计实验》班级: 信息1202 姓名: 方逸梅学号:1212100231 指导老师: 费玉莲《Java程序设计》独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式对照本课程的实验教材,实验一至实验一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验二的内容由学生自行设计完成。 (二)教学安排学时数:30课时学时安排:每次实验3学时,从学期第五周开始,共次上机实验。 (三)实验环境实验环境为JDK 1、6。 (四)具体安排地点:信息大楼实验室。辅导:每个班次一名辅导老师,原则上由任课老师担任。登记:实验完成,由辅导老师登记实验纪录。学生:实验做完,完成实验报告内容,并在学期末上交实验册。老师:批改实验,成绩与平时成绩一起占期末的30%。

二、实验的具体内容和要求见实验报告。浙江工商大学计算机与信息工程学院实验报告(1)日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1、下载、安装并设置Java SDK 软件包。 2、熟悉Eclipse 编辑软件。 3、掌握运行Java 程序的步骤。 4、分别编写Application和Applet程序,显示字符 串”Hello Java!欢迎使用!”。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。程序一public class hello {public static void main(String[] args) {for(int i=0;i<=4;i++){System、out、println("Hello java! 欢迎使用!");}}}结果示意图1存在的问题

Java课程设计实验报告

Java课程设计实验报告 导语:日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。以下是为大家分享的Java课程设计实验报告,欢迎阅读参考。 一、实验目的 1、加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2、使用本学期学习的JavaSE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以JavaSE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3、在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1、问题描述准确、规范。 2、程序结构合理,调试数据准确、有代表性、。 3、界面布局整齐,人机交互方便。 4、输出结果正确。 5、正确撰写实验报告。

三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农 历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报 时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1、在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2、在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3、各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4、根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5、详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一

java实验报告一

《Java技术》实验报告

5.分析 本程序成功实现了初始化两个在不同包内的对象,以及实现了子类对象对父类方法的引用与重写。也编写并验证了求两点距离的方法。但是平移函数的使用因为实验指导书中并没有明确要求,故没有再次验证。 五、实验结论、分析、思考题与心得体会 通过本次实验,我有以下几方面的收获、认识和体会: 1、学会了在三种环境下编写程序及运行程序的方法; 2、加深了Java中相关语法的认识: 在初次录入源程序时,我将public写成了Public,导致编译出错,结合语法我认识到Java是严格区分大小写的。 3、了解了对不同包内的函数的引用以及子类对父类方法的引用与重写。 4、了解了super方法的用法。 5、思考题一JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。 6、思考题二PATH是java虚拟机在读取java文件时JDK的默认路径。而CLASSPATH 是告诉虚拟机要去哪里实现我给他的类。这两者在系统属性中的系统变量中设置。 7、思考题三创建子类对象时引用了父类的空构造函数作为自己的构造函数,然后再引用自己的有参构造函数来初始化变量。 8、思考题四多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 在程序中有不同的参数可以使用同名的不同构造函数来体现。

相关文档