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

java大作业

java大作业
java大作业

java大作业

课程名称:java大作业

设计题目:简单的节奏发声器

学院:计算机科学与信息工程学院学生姓名:

学生学号:

专业班级:

指导教师:

年月日

1.简介

程序的主要功能有:提供用户界面,可勾选每组乐器的不同节拍的复选框组成一定规律的节奏发声,且带有播放、暂停、加快/减慢节奏的功能。主要涉及java程序设计以下部分:

(1)GUI编程:利用GUI接口使用相应的功能组件和合理的布局方式完成程序的用户界面。

(2)组件的事件监听:为相应的功能组件注册事件,利用实现ActionListener接口的内部类完成对应事件的事件监听。

(3)JavaSound API:程序主要用到只有MIDI部分,利用核心部分的Sequencer、Sequence与Track对象的方法,完成程序的具体节奏发声。

2.程序源码

package en;

importjava.awt.*;

importjavax.swing.*;

importjavax.sound.midi.*;

importjava.util.*;

importjava.awt.event.*;

/*这个程序主要用到时JavaSound API的midi即电子发声装置的一些标准*/ public class BeatBox {

privateJPanelmainPanel;

/*用于储存复选框*/

privateArrayListcheckbokList;

/*Sequencer用于控制Sequence对象。

* 它用于将所有的midi数据送到正确装置,相当与实际生活的发声装置,如CD播放器。

* 哎哎不是我们考虑的问题啦!*/

private Sequencer sequencer;

/*Sequence 是一种数据结构,包含可由Sequencer 对象回放的音乐信息。

* 类似于生活中CD*/

private Sequence sequence;

private Track track;

/*Track 占用Sequencer 演奏的数据层次中的一个中间层。

* sequencer 演奏sequence,它包含音轨,而音轨包含MIDI 事件。

* Sequencer 可能提供mute 或solo 具体音轨的控制。

* 类似于播放的歌曲本身,而track也类似歌曲它是由许多的音符(相对应数字)组成的。

*/

privateJFrametheFrame;

/*各种乐器的名称*/

private String[] instrumentNames={"低音鼓","闭镲","开镲","原声","铙钹","拍子","高音鼓","高音圆鼓","沙球","口哨","低音手鼓","颈铃","颤音叉","中低嗵鼓","高音撞铃","高音手鼓"};

/*各种乐器所对应的编号*/

private int[] instruments={35,42,46,38,49,39,50,60,70,72,64,56,58,47,67,63};

public static void main(String[] args) {

newBeatBox().buildGUI();

}

public void buildGUI(){

theFrame=new JFrame("Cyber BeatBox");

/*frame.setDefaultCloseOperation()是设置用户在此窗体上发起"close" 时默认执行的操作。

* EXIT_ON_CLOSE:使用System exit 方法退出应用程序。*/

theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

/*使用边界布局*/

BorderLayout layout=new BorderLayout();

JPanel background=new JPanel(layout);

/*设置边框属性距内部10像素*/

background.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); checkbokList=new ArrayList();

/*Box容器用于放置按钮,设置从上到下纵向布置组件*/

Box buttonBox=new Box(BoxLayout.Y_AXIS);

/*开始播放,添加开始播放的事件监听*/

JButton start=new JButton("开始");

start.addActionListener(new MyStartListener());

buttonBox.add(start);

/*结束播放*/

JButton stop=new JButton("结束");

stop.addActionListener(new MyStopListener());

buttonBox.add(stop);

/*加快节奏*/

JButtonupTempo=new JButton("加快");

upTempo.addActionListener(new MyUpTempoListener()); buttonBox.add(upTempo);

/*减慢节奏*/

JButtondownTempo=new JButton("减慢");

downTempo.addActionListener(new MyDownTempoListener()); buttonBox.add(downTempo);

/*Box容器用于放置乐器名,设置从上到下纵向布置组件*/

Box nameBox=new Box(BoxLayout.Y_AXIS);

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

nameBox.add(new Label(instrumentNames[i]));

}

/*边界布局,左边乐器名列,右边功能按钮列,边界布局*/

background.add(BorderLayout.EAST,buttonBox);

background.add(BorderLayout.WEST,nameBox);

/*JFrame添加JPanel面板*/

theFrame.getContentPane().add(background);

/*使用GridLayout布局分16行16列*/

GridLayout grid=new GridLayout(16,16);

/*设置该组件在垂直方向上与其他组件的间距的*/

grid.setVgap(1);

/*设置该组件在水平方向上与其他组件的间距的*/

grid.setHgap(2);

mainPanel=new JPanel(grid);

/*添加复选框面板居中*/

background.add(BorderLayout.CENTER,mainPanel);

/*生成所有的复选框*/

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

JCheckBox c=new JCheckBox();

c.setSelected(false);

checkbokList.add(c);

mainPanel.add(c);

}

setUpMidi();

/*setBounds设置frame左上角的坐标为(50,50),宽为300,高为300。*/

theFrame.setBounds(50,50,300,300);

theFrame.pack();

theFrame.setVisible(true);

}

public void setUpMidi(){

/*可能会抛出异常*/

try{

/*生成sequencer对象,并将它打开,用于对sequence的控制*/

sequencer=MidiSystem.getSequencer();

sequencer.open();

/*生成sequence对象*/

sequence=new Sequence(Sequence.PPQ,4);

/*从sequence对象生成track对象*/

track=sequence.createTrack();

sequencer.setTempoInBPM(120);

}

catch(Exception ex){

ex.printStackTrace();

System.out.println("sequencer等对象生成有问题!");

}

}

/*这里是播放功能的具体实现*/

@SuppressWarnings("static-access")

public void buildTrackAndStart(){

/*用于储存每种乐器的节拍*/

int[] trackList=null;

/*每次播放前先删除掉旧的音乐节拍*/

sequence.deleteTrack(track);

/*由sequence对象获取track对象*/

track=sequence.createTrack();

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

trackList=new int[16];

/*key储存乐器对应的编号*/

int key=instruments[i];

/*遍历每一组乐器复选当其为选中时,将数组对应节拍位赋值为key*/

for(int j=0;j<16;j++){

JCheckBoxjc=(JCheckBox)checkbokList.get(j+(16*i));

if(jc.isSelected()){

trackList[j]=key;

}

else{

trackList[j]=0;

}

}

/*调用makeTracks方法,为track对象添加每组乐器的midiEvent对象,构成有序的节奏序列*/

makeTracks(trackList);

/*插入编号为176的类型,它不会做任何事情,只是用来判别音符是否被播放,它与144(开始发声)类型是同时进行的*/

track.add(makeEvent(176, 1, 127, 0, 16));

}

/*同167类似确保16有事件,否则其不会播放*/

track.add(makeEvent(192, 9, 1, 0, 15));

try{

/*将sequence放入sequencer中,类似将CD放进CD播放器中*/

sequencer.setSequence(sequence);

/*设置循环播放*/

sequencer.setLoopCount(sequencer.LOOP_CONTINUOUSLY);

/*开始播放*/

sequencer.start();

/*设置设置速度,以每四分音符的微秒数为单位*/

sequencer.setTempoInBPM(120);

}

catch(Exception e){

e.printStackTrace();

}

}

/*遍历数组通过makeEvent方法生成key值所对应的midiEvent对象*/

public void makeTracks(int[] list){

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

int key=list[i];

if(key!=0){

/*节奏起点*/

track.add(makeEvent(144, 9, key, 100, i));

/*节奏结束,节奏发声时间为1*/

track.add(makeEvent(128, 9, key, 100, i+1));

}

}

}

/*这个方法主要用于生成midiEvent对象,其类似组合结拜的指令,如指定发音,结束发音等,一系列的midiEvent组合在一起就成了有条理的节奏。*/ public static MidiEventmakeEvent(intcomd,intchan,int one ,inttwo,int tick){ MidiEventmidiEvent=null;

try{

/*midiEvent的指令实际储存在ShortMessage中的。*/

ShortMessagemassge=new ShortMessage();

/*ShortMessage对应的参数表示声音的:类型(如144:打开,128:关闭),频道(乐器),音符,音道(大小)*/

massge.setMessage(comd,chan,one,two);

/*tick表示在第几个节拍启动它*/

midiEvent=new MidiEvent(massge, tick);

}

catch(Exception ex){

System.out.println("the midievent have some probleme");

}

returnmidiEvent;

}

/*下面的是个内部类实现ActionListener接口,用于相应事件的事件监听*/ /*事件:开始播放*/

public class MyStartListener implements ActionListener{

public void actionPerformed(ActionEvent a){

buildTrackAndStart();

}

}

/*事件:结束播放*/

public class MyStopListener implements ActionListener{

public void actionPerformed(ActionEvent a){

/*调用sequencer的stop()方法停止播放*/

sequencer.stop();

}

}

/*事件:加快节奏*/

public class MyUpTempoListener implements ActionListener{

public void actionPerformed(ActionEvent a){

/*通过getTempoFactor()获取速度因子*/

floattemppFactor=sequencer.getTempoFactor();

/*setTempoFactor设置新的速度*/

sequencer.setTempoFactor((float)(temppFactor*1.03));

}

}

/*事件:减慢节奏*/

public class MyDownTempoListener implements ActionListener{ public void actionPerformed(ActionEvent a){

/*原理同上*/

floattemppFactor=sequencer.getTempoFactor();

sequencer.setTempoFactor((float)(temppFactor*0.97));

}

}

}

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/701050766.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.

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