当前位置:文档之家› java大作业

java大作业

java大作业
java大作业

《JA V A语言程序设计》

课程设计报告

Java 数独游戏设计

专业班级:计算机科学与技术(嵌入式13-1)学生姓名:翟世昌

学生学号:

小组成员:方建峰殷智玺冯泽刚翟世昌

指导教师:宋强

目录

1.数独游戏与系统概述 ........................................... 错误!未定义书签。

设计背景 ............................................................ 错误!未定义书签。

数独游戏简介 .................................................... 错误!未定义书签。

方格 .............................................................. 错误!未定义书签。

行 .................................................................. 错误!未定义书签。

列 .................................................................. 错误!未定义书签。

宫 .................................................................. 错误!未定义书签。

2.系统可行性分析与相关技术分析........................ 错误!未定义书签。

面向对象程序设计方法..................................... 错误!未定义书签。

3.系统设计与关键技术 ........................................... 错误!未定义书签。

系统的功能分析 ................................................ 错误!未定义书签。

系统的实现 ........................................................ 错误!未定义书签。

4.系统测试与操作实施方法.................................... 错误!未定义书签。

系统开发环境 .................................................... 错误!未定义书签。

系统实现 ............................................................ 错误!未定义书签。

5.系统设计总结 ....................................................... 错误!未定义书签。

6.参考文献............................................................... 错误!未定义书签。

7.源代码................................................................... 错误!未定义书签。

1.数独游戏与系统概述

设计背景

单机游戏是一种比较流行的游戏,其画面都比较简单,很少有复杂的游戏特效,但是通常用到人工智能的算法来控制游戏的难度。而算法的优化是开发该类游戏的难点。这类游戏游戏主要包括棋牌类游戏和智力测试类游戏,例如麻将,扫雷、五子棋、扑克牌等。

数独就是单机益智游戏的一种,玩法简单单数字的排列方式千变万化,很多人认为数独是练头脑的绝佳方式。本章通过讲解数独游戏在java平台的设计与实现,使读者了解此类游戏的开发过程,掌握实用的开发技巧,学会此类游戏的开发。

数独游戏简介

数独(すうどく,Sūdoku)是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。

数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。

起源

既然“数独”有一个字是“数”,人们也往往会联想到数学,那就不妨从大家都知道的数学家欧拉说起,但凡想了解数独历史的玩家在网络、书籍中搜索时,都会提到的就是欧拉的“拉丁方块(Latin square)”,

拉丁方块的规则:每一行(Row)、每一列(Column)均含1-N(N即盘面的规格),不重复。这与前面提到的标准数独非常相似,但少了一个宫的规则。

组成元素:

方格

水平方向有九横行,垂直方向有九纵列的矩形,画分八十一个小正方形,称

为九宫格(Grid),如图一所示,是数独(Sudoku)的作用范围。

数独元素- 九宫格

水平方向的每一横行有九格,每一横行称为行(Row),如图二所示。

数独元素- 单元

垂直方向的每一纵列有九格,每一纵列称为列(Column),如图三所示。

数独元素- 列

三行与三列相交之处有九格,每一单元称为小九宫(Box、Block),简称宫,如图四所示(在杀手数独中,宫往往用单词Nonet表示)。

数独元素- 宫

2.系统可行性分析与相关技术分析

面向对象程序设计方法

Java面向对象程序设计的基本思想是通过构造和组织对象来求解问题的。对象是很好理解的,任何一种物体都可以被认为是对象,例如,汽车就是一种对象。对象具有两个最基本的属性:具有一定的物质基础和一定的功能,这两种基本属性在Java语言中表现为拥有一定的存储单元并具备一定的功能。理解了Java的这种面向对象程序设计的基本思想之后,在以后的编程过程中,就应当个构造人们容易理解的更接近于真实物理世界物体的对象。

Java面向对象程序设计的过程非常简单。这里介绍一种自顶向下的程序设计方法,首先构造一个类来处理需要解决的问题,然后根据已经拥有的类(例如以前求解其它问题时实现的类),分析和构造新的类,设法将问题分解下去,而最开始构造的类通过组织这些新构造的类、已有的类及由他们生成的实例来求解指定的问题。这个过程可以继续递归下去,用在新构造的类上,直到最后解决了指定的问题,例如Java的应用程序和小应用程序都必须有一个类作为入口求解问题。

在计算机语言中,面向对象的类一般具有三个基本特性:封装性、继承性和多态性,这三种特性进一步简化了Java求解模型,提高了程序的复用性,节省了程序的代码量,从而提高了软件的生产率。

3.系统设计与关键技术

系统的功能分析

框架的合理布局。对于一个应用程序,界面的简单明了是很重要的,既要简单明了还要实用,不能华而不实。

异常处理的实现。对于一个独立运行的程序,能够独立的处理运行中的问题,并提示错误也是很重要的。

算法的实现,要准确的得出九宫格数字的正确排布,要保证随机,也要保证数字的不重复,使得已经尝试过的数字不再取到,这是比较困难的。

创建对话框,并设置监听器处理相应的事件,例如语句:(this);用于监听单击事件。

算法的实现,宫格的布局。

异常处理的实现,使用try-catch 去捕捉异常事件,当出现异常时用跳出错误提示对话框,提示错误信息,例如:

{(null,”数据中包括非数字,请重新输入!”);}

系统的实现

游戏界面

name

正确答案

数据操作

难易程度

菜单选项 菜单选项

name Start Answer Result

Exit 难易程度

Easy

Commom

Difficulty name

name

正确答案

java 程序中数独的算法设计

static int DFS(){

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

for(int j=1;j<=9;j++){

if(data[i][j]==0){

for(int k=1;k<=9;k++){

if( row[i][k]==0 && col[j][k]==0 &&

sql[(i+2)/3][(j+2)/3][k]==0 ){

data[i][j]=k;

row[i][k]=1;

col[j][k]=1;

sql[(i+2)/3][(j+2)/3][k]=1;

if( DFS()==1 )

return 1;

else{

data[i][j]=0;

row[i][k]=0;

col[j][k]=0;

sql[(i+2)/3][(j+2)/3][k]=0;

}

}

if(k==9)

return 0;

}

}

}

}

return 1;

}

static void set_data_zero(){ ; ;果定义了private,就不能被外部类所访问了this:java中this有两种用法1、代表当前类;2、在构造函数中的使用如:

(300,300);etEditable(false);统测试与操作实施方法

系统开发环境

Windows7旗舰版32位操作系统,eclipse软件()

系统实现

(1)程序运行情况:

程序正常的响应按钮事件。运行显示:

若空格中没有填入数字提交,则显示消息:

这是程序进行的异常处理,使用try-catch,捕捉输入整数的方法抛出的异常对象。此时只要按确定,框内都输入数字即可。

显示正确答案窗口:

提交后,若答案错误,弹出答案错误提示框:

提交后,答案正确,弹出答案正确提示框:

5.系统设计总结

运行结果基本上完成了实验题目所要求的功能。使用方便明了,设计上有层次,立体感强。可是九宫格数独小游戏和网络上的游戏软件仍有很大差距能方面的不完善还可在以下方面改进:

可多设置些按钮,将1到9的数字按钮放在文本框中,采用流式布局,只要鼠标操作点击按钮,而不需要自己从键盘输入。另外对于组件之间的间隙也要规划好,实现美观大方。

游戏的界面,间隔,空隙应该处理得更好,9个大宫格间的间隔因更明显,还应把游戏界面的颜色,背景设置得更美观,大方

这次课程设计从选题到编码到调试运行,都遇到了很多的困难。与以往的不大相同,这次没有老师辅导,主要是通过自己完成得出结论,并写出课程设计报告的。

我觉得这次课程设计是很宝贵的,主要是在最试验的过程中能自己查找资料

解决各种问题,享受的是这个过程。万事开头难,头开好了,接下来遇到的问题只要耐心分析,认真思考,带着问题寻找解决的方法,很多困难就会迎刃而解。面对设计中出现的异常情况,不应恐惧,要善于运用网络和书籍着手解决问题。盲目的实验是不可行的,要在设计之前理出设计思维,有条理的进行,尽量减少实验操作的盲目性从而提高程序效率,详细记录设计中出现的现象并加以思考。

6.参考文献

[1] java语言程序设计基础篇[M].机械工业出版社..

[2] 张海藩,软件工程导论(第4版).北京:清华大学出版社,2007.

[3] 张海藩,牟永敏。面向对象程序设计实用教程。北京:清华大学出版社,2001.

7.源代码

import .*;

import

import .*;

import .*;

import .*;

public class ShuDu1 extends JFrame implements ActionListener,ItemListener{ etHorizontalAlignment; etEditable(false); dd(atext[j][k]); etEditable(false); etHorizontalAlignment; etText(); etText()); dd(text[j][k]);

}

}

}

(panel_but,"North"); etText(atext[i][j]);

}

}

}

if( ()==item_ans ){ //答案

new ShuDuAns();

}

if( ()==item_next ){ //开局

setnum();

settext();

(false);

new ShuDu1();

}

}

public void itemStateChanged(ItemEvent e){ //改变难易程度,事件的处理方法

if()==0){ // easy

hard=datahard[0];

}

if()==1){ // normal

hard=datahard[1];

}

if()==2){ // hard

hard=datahard[2];

}

}

public static void main(String args[]){ //声明main方法

setnum();

settext();

new ShuDu1();

}

}

Java语言程序设计期末大作业

《Java语言程序设计》公选课期末大作业 学号:姓名:分数: 一、程序分析题 1、写出下列语句的打印结果: a. System.out.println(2+”bc”); b. System.out.println(2+3+”bc”); c. System.out.println((2+3)+”bc”); c. System.out.println(“bc”+2+3); 2、执行以下代码,m和n的值是多少? int n=123456789; int m=0; while(n!=0) { m=(10*m)+(n%10); n=n/10; } m= n= 3、以下代码将什么值存储在数组a[]中? int N=10; int [] a =new int[N]; a[0]=1; a[1]=1; for(int i=2;i

《java游戏大作业设计》

大作业报告 课题:吃豆人游戏的设计与实现 姓名:黄子强 学号:201517030207 同组姓名:刘照、杜威 专业班级:网工15102 指导教师:何青 设计时间:2018.6.18

目录 一、课程设计目的 (1) 二、需求分析 (1) 三、总体设计 (2) 3.1类的设计 (2) 3.2事件的设计 (3) 四、详细设计 (4) 4.1 PacWorld类 (4) 4.2 Animal类 (7) 4.3 PacMan类 (9) 4.4 Ghost类 (11) 4.5 Blank类 (14) 4.6 Position类 (14) 4.7 Score类 (15) 4.8 Lives类 (16) 4.9 Object类 (17) 4.10 Coin类&Power_Pellet类 (17) 五、游戏测试 (17) 5.1 游戏界面展示 (17) 5.2 游戏效果测试 (19) 总结 (20)

一、课程设计目的 复习、领会、巩固和运用课堂上所学的JAVA游戏编程方面的技术知识,让学生掌握游戏设计的基本原理和游戏编程的基本方法,掌握游戏开发的一般步骤和相应文档的编制,能够设计、调试、运行一个完整的游戏项目;提高开发过程中的团队意识,锻炼学生书面和口头表达能力,为学生提供主动学习、积极探索与大胆创新的机会。 通过本次游戏设计,综合自己在校期间所学的理论知识,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对java基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。 二、需求分析 吃豆子游戏是一种古老而又有趣的游戏,游戏软件不计其数,网上就有好多关于实现的复杂算法和设计,其难度让一般初学者望而却步。开发的出来的吃豆子游戏是一种内容丰富,画面优美,益智类游的戏,并且不受网络的限制,让人们能够在任何时刻通过体验游戏,放松心情。 设计需求: ①游戏界面设计要能够彰显设计者的基本设计框架及思路; ②游戏界面布局要清晰整洁、层次明确; ③游戏的设计要使玩家能在短时间内掌握游戏规则; ④玩家可以自由操控角色,玩家角色具有吃豆子的功能; ⑤吃到不同的豆子能有不同的效果(分数变化、角色状态的变化等等); ⑥怪物要能够自主运动,采用其特定的算法独立实现; ⑦游戏中怪物与玩家角色之间要有相应的事件(比如:触碰到玩家角色时玩家生命减1); ⑧界面上要能有够显示出当前的得分情况以及当前的生命值; ⑨对于游戏的设计,在游戏结束时能够有相应的提示。

JAVA学生管理系统期末大作业

JA V A学生管理系统大作业 课程名称:JA V A编程基础 题目:学生信息管理系统 专业:计算机软件 班级:计算机软件121班 学号:8000612030 学生姓名:李俊楠 完成人数:1人 起讫日期:第十六周至第十八周 任课教师:龚根华职称:副教授 部分管主任: 完成时间:2015-1-2

目录 ------------------------------2 课题设计内容------------------------------3 程序功能简介 需求分析--------------------------------------------------3 总体设计---------------------------------------------------3 模块详细设计---------------------------------------------------4 数据库设计 ------------------------------5 主体内容 ------------------------------6 心得体会 -----------------------------11 参考书籍 -----------------------------12

一:课题设计内容 学生管理系统 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。 二:程序功能简介 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所

JavaWeb期末大作业

西安欧亚学院2015—2016学年第二学期考试成绩评定表专业:软件工程课程:Web开发技术(Java)年级:14级

《Web开发技术(Java)》 大作业 姓名: 题目:Web开发技术大作业 专业:软件工程 班级: 日期:

目录 1.JSP开发概述 (1) 1.1.JSP M ODEL1 (1) 1.2.JSP M ODEL2 (1) 1.3.MVC设计模式 (2) 2.JSP MODEL1案例 (4) 2.1功能描述 (4) 2.2C ACULATOR类分析 (4) 2.3JSP页面代码分析 (4) 2.4功能实现 (4) 2.5测试用例设计 (6) 3.JSP MODEL2案例 (7) 3.1功能描述 (7) 3.2MVC架构分析 (7) 3.3M ODEL层类分析 (8) 3.4控制类分析 (8) 3.5V IEW层界面分析 (8) 3.6功能实现 (8) 3.7测试用例设计 (10)

1.JSP开发概述 1.1.JSP Model1 JSP Model 1采用了JSP+JavaBean的技术,将页面显示和业务逻辑分开。其中,JSP实现流程控制和页面显示,JavaBean对象封装数据和业务逻辑。接下来通过一张图来描述JSP Model 1的工作原理,如图1-1所示。 图1-1 JSP Model 1模型的工作原理图 从图1-1中可以看出,JSP Model 1模型将封装数据以及处理数据的业务逻辑的任务交给了JavaBean组件,JSP只负责接受用户请求和调用JavaBean的组件来响应用户的请求,这种设计实现了数据,业务逻辑和页面显示的分离,在一定程度上实现了程序开发的模块化,降低了程序修改和维护的难度。 1.2.JSP Model2 JSP Model 2架构模型采用JSP+Servlet+JavaBean的技术,此技术将原本JSP 页面中的流程控制代码提取出来,封装到Servlet中,从而实现了整个程序页面显示、流程控制和业务逻辑的分离。实际上JSP Model 2模型就是MVC设计模式,其中控制器的角色是由Servlet实现,视图的角色是由JSP页面实现,模型的角色是由JavaBean实现。接下来通过一张图来描述Model 2的工作原理,如图1-2所示。 从图1-2中可以看出,Servlet充当了控制器的角色,它接受用户请求,并实例化JavaBean对象封装数据和对业务逻辑进行处理,然后将调用JSP 页面显示JavaBean中的数据信息。

JAVA期末大作业

JAVA期末大作业 1.圆柱体: import java.util.*; public class cylinder { public static void main(String[] args) { double radius,height; final double PI=3.14; double area,volume; Scanner s=new Scanner(System.in); radius=s.nextDouble(); height=s.nextDouble(); area=2*PI*radius*radius+2*PI*radius*height; volume=PI*radius*radius*height; System.out.println("area="+area); System.out.println("volume="+volume); } } 结果: 2.heap: import java.util.*; public class heap { public static boolean isYearHeap(int x){ if(x%4==0||x%400==0){ return true; }else{ return false;

} } public static void main(String args[]){ int i; Scanner s=new Scanner(System.in); i=s.nextInt(); if(isYearHeap(i)){ System.out.println("Heap"); }else{ System.out.println("Not a heap year"); } } } 结果: 3.符号: import java.util.*; public class test { public static void main(String[] args) { int a=60;/*60=0011 1100*/ int b=13;/*13=0000 1101*/ int c=0; c=a&b;/*12=0000 1100*/ System.out.println("a&b="+c); c=a|b; System.out.println("a|b="+c); c=a^b; System.out.println("a^b="+c); c=~a; System.out.println("~a="+c); c=a<<2;

Java大作业-简单的学籍管理系统

上海电力学院 期末作业:简单的学籍管理系统 课程: Web 应用程序设计 院系:电气工程学院_____________________ 专业:电力系统及其自动化_______________ 学生姓名:张富杰学号:17103060 指导教师:______________ 曹渝昆___________________ 2017年1月6日

目录 一、设计思路 (3) 二具体实现......................................................................... 3.. . 三运行调试与分析......................................................................... 3.. . 四设计体会与小结......................................................................... 8.. . 五程序代码......................................................................... 8.. .

、设计思路 随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软件来管理本班级同学的学籍信息。该软件应支持添加、删除、修改、查询功能。 查询方式主要是支持学号查询,例如:输入“1”,则显示该学生的信息。 运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java 语句对其进行输出,学号查询时显示在文本框中;系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。 二具体实现 1.向班级里插入一个学生,但必须是插在已经建立的班级里。 2.输入学生信息,建立一个班级。 3.修改一个学生的所有资料。 4.删除某班的一个学生及其所有资料。 5.删除一个班级。 6.根据学生姓名查找某个学生信息。每种功能通过一个类来实现:类分分为主类、查询类、修改类、添加类、增加类。主类各功能界面的连接;精确查询类(SearchStude nt实现根据学生姓名查找某个学生信息;修改类(MdifyStude nt)实现修改一个学生的所有资料;添加类(AddStudent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。;删除类(DeleteStudent)实现删除某班的一个学生及其所有资料。;删除类(DeleteClass) 实现删除一个班级;建立类(BuiltClasS实现输入学生信息建立一个班级。 三运行调试与分析 系统的详细设计代码请查阅附带的代码。以下仅对各个界面进行截图展示:

JSP程序设计期末大作业

JSP程序设计期末大作业 1.网站的运行环境 在这次大作业中,我使用的软件是NetBeans IDE 8.0和MySQl,(额外使用了名为Navicat for MySQL的辅助性软件,主要是更方便的测试表的内容) 2.设计思路 这次的网页包括三个三个主页面。 存放登录代码的Pnl1.jsp, 存放主静态页面的pnl3.jsp存放留言信息的,liuyanban.jsp。 以及,存放身份验证的Pnl2.jsp,显示此次留言的liuyan.jsp,修改留言的update.jsp,删除留言的delete.jsp。 3.网站功能模块 4.核心技术 4.1jsp JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP 文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 它实现了Html语法中的java扩展(以<%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。 Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet 和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 4.2HTML 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果. 4.3CSS 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越杂乱,而且HTML页面也越来越臃肿。于是CSS便诞生了。 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 4.4MySQL ySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属 于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL 作为网站数据库。

java大作业编一个程序打印出公司月各员工工资

姓名:王镱澍 Java大作业 一、题目 白浪公司的雇员根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。 雇员分为以下若干类: SalariedEmployee:拿固定工资的员工。 HourlyEmployee:按小时拿工资的员工。 SalesEmployee:销售人员,工资由月销售额和提成率决定。 BasePlusSalesEmployee:有固定底薪的销售人员,工资由底薪加上销售提成。 公司会给SalaryEmployee每月另外发放2000元加班费,给 BasePlusSalesEmployee发放1000元加班费。编一个java程序创建上述若干类,并实现确定月份以及该月不同员工的工作情况后打印出该公司该月各员工工资,公司总的工资支出情况。 二、程序功能说明 编一个java程序创建上述若干类,并实现确定该月不同员工的工作情况以及输入月份后打印出该公司该月各员工工资,公司总的工资支出情况。 三、类、属性、方法说明 程序中已给出详细解释在此只作简要说明: Employee:这是所有员工总的父类。 属性:员工的姓名和生日月份。 方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。 SalariedEmployee:Employee的子类,拿固定工资的员工。 属性:月薪。 方法:每月工作超出160小时的部分按照倍工资发放。 HourlyEmployee:Employee的子类,按小时拿工资的员工。 属性:每小时的工资、每月工作的小时数。 SalesEmployee:Employee的子类,销售人员。 属性:月销售额、提成率。 方法:工资由月销售额和提成率决定。 BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员。 属性:底薪。 方法:工资由底薪加上销售提成部分。 四、程序代码 import .*; class MyException extends Exception {

JAVA-课程设计(大作业)报告

课程设计(大作业)报告 课程名称:面向对象程序设计课程设计设计题目:设计一个记事本 院系:信息技术学院 班级: 设计者: 学号: 指导教师: 设计时间: 信息技术学院

昆明学院课程设计(大作业)任务书

简单记事本程序的设计 目录 一.题目分析 (5) 1.1需求分析 (5) 1.2功能要求设计 (5) 二.总体设计 (5) 2.1设计思路 (5) 2.2运行界面 (6) 2.3模块说明图 (6) 2.4主流程图 (7) 2.5 UML图 (7) 2.6程序相关说明 (8) 三.运行环境 (8) 四.详细设计与分析 (8) 4.1.初始化组件 (8) 4.2.构建菜单栏及其下拉菜单 (8) 4.3.“文件”菜单的事件监听 (9) 4.5.异常处理 (10) 五.调试分析 (12) 六.总结 (13) 七.参考文献 (14) 附录(源代码) (14)

一.题目分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有的能改变字体,有的能改变文字颜色。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。该程序主要用到了Java swing和事件监听等。 1.2功能要求设计 设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 5)菜单中有“文件”,“编辑”,“关于”三个主菜单。 6)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文 件,退出记事本。 7)“编辑”中有“剪切”“复制”“粘贴”“颜色”四个子菜单:用于剪切文字,复制文字,粘贴文字 增加了“颜色”子菜单来对文字的颜色进行设置。 8)“关于”菜单中有关于记事本程序的制作日期,作者等信息,功能可自行增加。 提示:用图形用户界面实现,使用文件输入输出流。 二.总体设计 2.1设计思路 在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。

JAVA课程大作业文档模板

皖西学院 JA V A课程期末大作业 ( 2016 -- 2017 年度第二学期) 课程名称:JA V A程序设计 题目:备忘录系统 院系:电信学院 班级:电子1402班 组名:风尘三侠 组员(姓名+学号): 陈松龄(2014013860) 陈志康(2014013863) 贾林松(2014013870)授课教师:范祥林 日期:2017 年6 月18 日

备忘录系统 摘要: 本作业利用JAVA进行开发,实现个人备忘录管理系统是能够运行在普通个人电脑上,为使用者提供日常信息管理功能的工具软件,使用者可以通过个人备忘录管理系统对日常工作/生活琐事进行更有效的管理,主要是为使用者提供对个人信息更方便的记录和查询功能,为使用者在个人信息管理上带来更多的便利。具有日常记事:记录日常生活或者工作事件,以免遗忘,并提供记录的查询,添加和删除等管理功能。 一、目的与要求 1.需求描述:基于MySql实现备忘录系统功能。 2.通过实践训练,进一步掌握JAVA开发方法,测试方法,提高软件开发 和设计的能力。 3.进一步加强和提高工程文档的编写能力; 二、需求分析 本次系统采用结构化的设计方法进行设计,是设计成一个相对封闭的单机运行系统,作为大众化的应用软件,其用户界面是决定软件质量的首要条件。所以,界面设计是开发与设计的重点。充分贯彻简单易用、美观大方的基本原则,采用快速开发平台netbeans进行开发,并结合access数据库完成数据的导入。 NetBeans 平台是一种可重复使用的框架用于简化其他桌面应用程式的开发。当基于NetBeans 平台的应用被执行,平台主要类别的main方法便会被执行。可用的模组会被放置在存储器中,并且开始执行任务。通常模组会只在被需

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (6) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (8) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10) 5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14)

一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

JAVA大作业

import java.util.Scanner; /*四则运算*/ class arithmetic{ privatedouble n1; privatedouble n2; publicdouble getN1() { return n1; } publicvoid setN1(double n1) { this.n1 = n1; } publicdouble getN2() { return n2; } publicvoid setN2(double n2) { this.n2 = n2; } double subtration(double n1,double n2){ return n1-n2; } double addition(double n1,double n2){ return n1+n2; } double multiplication(double n1,double n2){ return n1*n2; } double division(double n1,double n2){ return n1/n2; } public arithmetic(double n1,double n2){ this.getN1(); this.getN2(); } } /*计算三角函数值*/ class TriFun{ privatedouble x;

publicdouble getX() { return x; } publicvoid setX(double x) { this.x = x; } publicvoid sin(){ System.out.println("正弦值为"+Math.sin(x)); } publicvoid cos(){ System.out.println("余弦值为"+Math.cos(x)); } publicvoid tan(){ System.out.println("正切值为"+Math.tan(x)); } publicvoid asin(){ if(x>=-1&&x<=1) System.out.println("反正弦值为"+Math.asin(x)); else System.out.println("没有反正弦值!"); } publicvoid acos(){ if(x>=-1&&x<=1) System.out.println("反余弦值为"+Math.asin(x)); else System.out.println("没有反余弦值!"); } publicvoid atan(){ if(x!=0) System.out.println("反正切值为"+Math.atan(x)); else System.out.println("反正切值为PI/2="+Math.PI/2); } public TriFun(double x){ this.x=x; }

设计模式大作业报告

《设计模式》课程大作业报告 姓名:陈明 专业:软件工程 班级:1202 日期:2015年5月29日

西安欧亚学院2014—2015学年第二学期考试试卷 专业:软件工程 课程:设计模式 年级:12级 完成一个综合项目程序,其中使用所学设计模式两个或者两个以上。要求在文档中首先给出项目程序完成的功能或者解决的问题,然后详细说明模式使用的具体情况,即角色和相应程序代码。文档赋分标准如下: 1、程序功能阐述明确,分析清楚。(15分) 2、使用两种设计模式,使用得当,并给出相应的角色及程序代码,程序代码有恰当的注释。(60分) 3、文档格式正确,排版清晰。(15分) 4、如果使用超过两种设计模式,并且使用正确。(10分) 说明:以上总分为个人的期末成绩,本课程个人总成绩=平时成绩*40%+期末成绩*60%。 号_____________ 班级___________ 姓名________ 考场号____ 座位号____ - - - - - - - - - - - - - - - - - - - - - - - 密 ○- - - - - - - - - - - - - - - - - - - - - - - - 封 ○ - - - - - - - - - - - - - - - - - -- - - - - - 线 ○ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

2016-2017-1-JavaEE编程技术_期末大作业及其要求

《Java EE编程技术》课程题目与要求 说明: 本学期,该课程为考试改革课程,不参加统一的考试,采用技能测试的方式评价。 要求学生能够应用该课程中所介绍的思想、原理、技术方法,解决实际应用问题的能力。 设计题目(平时我们做过的题目) 针对下面给出的“网络书城系统”的需求和说明,完成系统的开发与设计。 网络书城的主要功能就是让用户能够足不出户就可以购买到自已想要的书籍,所以网络书城系统主要提供如下功能: (1)用户能够使用本网站完成图书的浏览、查询和购买。 (2)普通用户只能浏览图书信息,浏览分为3种方式:按类别浏览、按条件浏览、查询图书。 (3)普通用户通过注册成为注册用户,注册后的用户可以登录,登录后可以修改注册资料。(4)注册用户登录后可以进行在线图书购买,购买的图书存放在购物车中,可以对购物车中的商品数量进行修改、删除,调整好购物车中内容后,可以把该内容保存到订单中,在保存订单的时候要求用户填写送货地址和联系方式。订单提交后用户可以开始一次新的购物过程。 (5)对于后台系统,要求可以进行商品目录的维护,商品的图片可以上传到服务器,特价商品维护,订单可以查询详细信息,订单确认和订单发送。 设计要求 (1)利用Struts2、Hibernate、Spring技术。 提示:若只采用Struts2技术设计,一般给中等; 若采用Struts2+Hibernate技术整合实现,一般给良好(也可能为优) 若采用Struts2+Hibernate+Hibernate技术整合实现,一般给优秀。 若三种方式都提供,但第3种不完善,也可以给优秀。 (2)给出系统的简单的分析与设计(主要包括:你的设计思想,功能划分,体系结构、类等有关的包结构,设计中遇到的问题等) (3)提供设计文档和源代码。 本课程成绩的确定 该课程有3个内容确定我们的最后课程成绩: (1)上面的设计题目,50分。 (2)综合测试20分 (3)平时考勤与作业30分

JAVAWEB图书管理系统大作业范文

J A V A W E B图书管理系统大作 业范文 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

javaWeb企业编程 ---- Java Web图书管理系统 班级:14软件 姓名:柴金宝 学号:

一、题目的选择 Java Web图书管理系统 二、系统分析 系统的可行性分析 可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,我认为图书馆管理系统的可行性分析如下: 经济可行性分析 作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。 技术可行性分析 技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。 社会可行性分析 社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。它对图书馆带来的影响可以看到:(a)对传统管理理念的冲击,可能引起管理层的变动和人员的调整。 (b)对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简,迫使工作人员继续学习新知识,拓宽图书馆在市场环境下的生存空间。 (c)对图书馆与读者之间业务方式的转变和扩充。 最后,针对用户对图书资源进行有效利用和管理的功能需求,用建模技术对图书管理资源采用面向对象的描述方式,在具体系统功能实现之前,建立起系统模型是很必要的,这里采用具有可视化、能够柔性实现分析、设计和开发系统的统一建模语言实现系统模型构建。同时,结合最流行的基于浏览器的数据管理模式,建议采用基于组件技术的B/S(brower/server)系统结构。 从技术的角度来考虑,随着计算机技术的深入发展,相关的应用软件、技术已经很成熟了,各种信息系统的开发工具也很完善了。运用现在软件行业中流行的开发工具JAVA 以及MySQL,借鉴别人成功开发的宝贵经验,可成功开发一个功能基本完善的、符合中小型生产企业生产管理所需的生产管理信息系统。 综上所述,实施生产管理系统在技术上、经济上、运行上以及社会环境上都是可行的,因此,开发生产管理信息系统是可行的。

java web期末设计

郑州轻工业学院 Java Web应用程序开发 期末大作业 题目:___通信录管理系统_ ___ 专业班级:___13-02 _ 姓名:___ 王顶峰 _ 学号:___ _ 完成时间:__ 2014年12月30日 _ (注:本系统查询分页有点小问题)(完整程序https://www.doczj.com/doc/e013530449.html,/s/1dD8cROt)

一:需求分析 1、性能需求 通讯录管理系统:基本元素是实现通讯录的各种功能; 此系统采用mvc+dao+JSTL工厂模式来实现的。这模式可以让开发者 统一管理对象的实例化。减少了代码的杂糅性。便于观看者理解。 数据库采用mysql+ Navicat Premium。 系统用户容量需求:对用户没有容量的需求。一般可以读取上万条的数 据。但是由于本人的知识有限,可能读取时会非常的慢。 电配置:windows7以上版本。配置市面上的大多数电脑都可以流畅运行。 网络环境:要求必须有网络连接。 系统运行时间:无限制。 2、功能需求 本系统可以实现登录注册修改用户、增删查改用户的联系人。 查找联系人,系统采用的是模糊搜索。可以实现数据的分页。 对于用户的日常操作本系统都可以实现。 二、系统设计 1、系统功能描述 系统有注册用户,登陆用户。在注册用户时本系统可以判断用户名是否为空,两次密码是否一样,完成注册。 登陆进去可以显示登陆的用户名字。列举出用户的通讯录,此过程还有一个判断语句,如果用户的通讯录为空,提示用户创建通讯录。在主界面可以实现对用户的查找、添加用户。在用户的数据后面都有一个操作,我们可以对用户进行删除,查看。(本系统的查看集成了查看修改分组于一身,免去了用户的频繁操作)。在家人查询界面我们可以对用户进行分组的查询,本系统只提供给用户最频繁使用的3种分组(同学、朋友、),倘如你还想进行自定义分组,那就等待后续程序的优化吧。 系统对列举出来的用户都进行了分页处理,每页出现的用户都是4个,其他的联系人可以在下页寻找。 系统还可以进行注销用户操作,注销用户后跳转到登陆界面进行重新登录。 2

北邮国际学院JAVA大作业

StartGame00.java /** * A class that takes in Hangman game in GUI interface, which extends StartGame. * @author Yuewen Li * @created 2013 * @version 1.0 * @version 1.1 */ import javax.swing.*; import java.awt.*; import java.io.*; import java.util.*; public class StartGame00 extends StartGame{ JPanel thePanel; //The new variable for painting. int miss=0; //This variable is to determine the steps of drawing the hangman. It increaces in each round of //guess with the wrong guess. /** * Override the constructor of parent class. Add the initialization of thePanel. */ public StartGame00(){ super(); this.thePanel=new StartGameGUI(); } /** * Override super.go(). Add two instructions in super.go() to repaint thePanel. */ public void go(){ getDictionary(); startGuess(); System.out.println("Would you like to play again?"); System.out.println("Yes----------------Enter 1"); System.out.println("No-----------------Enter 2"); Scanner myChoice=new Scanner(System.in); int choice=myChoice.nextInt(); switch(choice){ case 1: this.miss=0; //This is the new part thePanel.repaint(); //to repaint.

相关主题
文本预览
相关文档 最新文档