Java项目设计报告

合集下载

实验报告(二)

实验报告(二)

北京信息科技大学信息管理学院实验报告课程名称java程序设计实验项目实验二类和对象实验仪器PC、jdk、jcreator专业_______ _________班级/学号________ ___学生姓名_______ __________实验日期实验地点成绩_______________________指导教师_____李春强_____________return p;}int getPower(int q){return q;}}Lab2_2:public class TV {void play(){System.out.println("正在播放动物世界");}}public class Family {TV homeTV;void buyTV(TV tv){tv=this.homeTV;System.out.println("购买一台电视");}}public class MainClass {public static void main(String args[]){ TV haierTV=new TV();Family zhangsanFamily =new Family();zhangsanFamily.buyTV(haierTV);haierTV.play();}}Lab2_3:public class Land {public static void main(String args[]){ Village.WaterAmount=200;System.out.println("水井中有水"+Village.WaterAmount+"升");Village v1=new Village();Village v2=new Village();int m=50;System.out.println("v1从水井中取水"+m+"升");v1.WaterAmount-=m;System.out.println("v2发现水井中有水"+Village.WaterAmount+"升");System.out.println("v2从水井中取水"+m+"升");v2.WaterAmount-=m;System.out.println("v1发现水井中有水"+Village.WaterAmount+"升");}}public class Village {public static int WaterAmount;}Lab2_4:import wukong.xiyou.*;public class SunRise{public static void main(String args[]){SquraEquation sq=new SquraEquation();sq.getRoot(100);System.out.println("此数的平方根为"+"sq.getRoot()");}}package java.wukong.xiyou;public class SquraEquation{public double getRoot(double num){ return Math.sqrt(num);}}1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;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课程设计报告【范本模板】

南京晓庄学院《JAVA程序设计》课程设计报告题目: ATM系统的设计与实现姓名:黄强学号:14131609班级: 14计算机转本2班指导教师:徐家喜完成时间成绩:信息工程学院2017年6月目录1摘要 (1)1.1系统开发背景 (1)1。

2系统开发的目的和意义 (2)1。

3完成的主要工作 (2)2需求分析和总体设计 (3)2.1需求分析与设计思路 (3)2。

1.1关键技术说明 (3)2。

1.2需求分析 (3)2.1.3系统设计方案与思路 (3)2。

1.4系统目录结构说明 (4)2。

2系统功能结构 (5)2.3数据库设计 (6)3详细设计 (7)3.1系统模块实现 (7)3。

1.1ATM主界面实现 (7)4系统运行结果 (11)5课程设计总结 (12)模拟ATM系统的设计与实现1摘要1.1系统开发背景随着Internet网络的迅速发展,作为电子商务的ATM自动取款系统以其方便、快捷和高效的优势,逐步成为新兴电子商务的经营模式和理念,人们已经不再是只满足于低效率的排队等待,而是渴望能充分享受网络所带来的更多的便利.ATM自动取款系统恰恰适应了如今的快节奏生活。

本文以实际ATM取款应用为北京,阐述了系统开发过程的开发方法、系统分析以及一般步骤。

本ATM系统的目的就是建立一个客户平台,用户使用此平台进行查询余额、存款、取款、转账、等业务办理。

相对于柜员操作一样的,不过ATM系统有的功能有权限设置,一些功能只有银行柜员才能进行的业务办理。

ATM取款系统的针对的用户群是使用此软件系统的用户,用户做为系统的服务群体,可以使用数据库已有的账号与密码,登陆ATM系统。

当用户成功登陆后就可以根据用户的需求进行各项业务的办理,办理完所有的手续后,用户的输入的新资料以及办理的业务处理后的信息都会反馈到数据库并且都会存入到数据库中。

这样用户就完成了办理业务。

关键词:ATM;MySQL; Java;1.2系统开发的目的和意义随着信息时代科技的飞速发展,使用ATM取款机、计算机等技术的发展,不仅提高了工作效率,而且大大的提高了其安全性。

java实训报告(通用9篇)

java实训报告(通用9篇)

java实训报告java实训报告(通用9篇)在当下社会,大家逐渐认识到报告的重要性,写报告的时候要注意内容的完整。

那么一般报告是怎么写的呢?下面是小编精心整理的java实训报告,欢迎大家借鉴与参考,希望对大家有所帮助。

java实训报告篇1一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。

2.熟练掌握Java中常用的Swing组件的使用方法。

3.熟练掌握Java程序中图形用户界面设计的方法。

4.熟练掌握使用JDBC操作数据库的方法。

5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。

二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的仓库管理系统。

该系统从仓库管理人员的角度出发,实现对货物信息、生产商信息的浏览、添加、删除和查询,同时还可以对货物出货、入货进行操作和控制。

设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。

系统功能分析是在系统开发的总体任务的基础上完成的。

该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。

供应商管理:主要包括供应商的添加、删除和修改。

产品管理:主要包括产品的添加、删除和进货、出货。

产品视图管理:主要包括产品查询、数据文件的导入、查询结果集的导出。

2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想本次实训设计采用选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。

是组织、管理和控制信息系统开发过程的一种基本框架。

其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。

java课程设计报告

java课程设计报告

java课程设计报告随着Java言的不断发展,越来越多的编程人员开始使用 Java开发应用程序,这就催生出了一种新的课程 Java程设计。

本文旨在通过总结 Java程设计的过程及其相关知识,以便于编程人员以及研究者对 Java程设计有一个更深入的了解。

首先,要完成 Java程设计,需要了解 Java语言特性和编程工具。

这里不仅要掌握 Java言本身的知识,还要熟悉 Java架和测试框架,这样才能开发出能够完成各种任务的应用程序。

此外,学习Java程设计的人还需要具备一定的网络知识,这样可以更好地了解Java程设计的用途,以及 Java发的环境,否则,将很难完成 Java程设计。

其次,要开始 Java程设计,设计人员要先明确设计内容,比如要设计的应用程序的功能、界面要求等,还要考虑安全性、可维护性等方面,以确保设计出来的程序在实际应用中能够如预期般完成任务。

之后,设计人员就可以根据设计内容,编写 Java序,实现功能。

此时,设计人员要根据需求分析,合理安排代码结构,并确定需要用到的类库和技术;同时,实现功能时也要注意代码质量,要遵守 Java 程的规范,要避免出现内存泄漏等问题。

最后,在完成 Java程设计之后,设计人员要进行测试,确保程序能够完成预期任务。

这里可以使用基于 Junit(Java元测试框架)的测试框架,测试各个类的接口和输出内容,以确保程序功能正常,做到稳定可靠。

总的来说,要完成 Java程设计,不仅要有良好的 Java言和编程工具的基础知识,还要了解 Java发的环境,还要具备一定的网络知识,最后要仔细的进行测试,确保设计出来的程序稳定可靠,才能完成 Java程设计。

总之,很明显,Java程设计并不容易,但所能学到的知识也丰富多样,对于以后的研究和工作也有很大的帮助,因此,建议编程人员考虑学习 Java程设计,来拓展自己的知识面和应用能力。

Java程序设计实验报告2010

Java程序设计实验报告2010
{ int a,b;
public void setab(inti, int j)
{ a=i; b=j; }
public void printab()
{ int sum=a+b;
System.out.println(“a+b=”+sum);
}
}
//B.java
packagepkg1.pkg2;
public class B
{ Exam3_6 d1=new Exam3_6();
System.out.print(”The current date is(year/month/day):”);
d1.outDate();
System.out.println( );
System.out.print(”Its tomorrow date is(year/month/day):”);
{ A x=new A();
A y=new A();
x.setab(5);
y.setab(10);
System.out.println(“x.a=”+x.geta()+”,y.a=”+y.geta());
x.setb(-5);
y.setb(-10);
System.out.println(“x.b=”+x.getb()+”,y.b=”+y.getb());
Its tomorrow is (year/month/day):2000/1/2
The current date is (year/month/day):2004/1/8
Is tomorrow is (year/month/day):2004/1/9

JAVA语言程序设计实验报告

JAVA语言程序设计实验报告

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。

二、预习内容安装工具软件的基本方法。

三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。

1、打开Eclipse的安装盘安装Eclipse。

2、在相同目录下安装J2SDK。

3、打开Eclipse软件对J2SDK文件进行配置。

4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。

Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。

实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。

应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。

(1)编辑A verage.java。

class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。

java程序设计实验报告

java程序设计实验报告

java程序设计实验报告
实验一:实现个人信息管理系统
实验目的:学习如何使用Java语言来完成一个简单的面向对象程序设计。

实验内容:
本次实验的任务是开发一个个人信息管理系统,可以完成一些基本的信息管理功能,如增加、删除、查询和修改个人信息等。

实验步骤:
1. 定义Person类并实现其属性和方法。

2. 在主类中实现简单的用户交互界面。

3. 实现文件持久化,将程序中的信息储存在文件中。

4. 实现增加、删除、查询和修改个人信息的功能。

实验结论:
通过本次实验,我学会了如何使用Java语言来实现一个简单的面向对象程序设计。

在开发过程中,我学会了如何定义类、实现属性和方法,如何进行用户交互界面的设计,以及如何将程序中的信息储存在文件中。

JAVA课程设计报告_完整版

JAVA课程设计报告_完整版

《JAVA面向对象程序设计》课程设计报告(2011-2012学年第2学期)系别:厦门理工学院计算机科学与技术系专业名称:10级网络工程1班课程设计科目:《JAVA面向对象程序设计》课程设计学生姓名:学号:指导教师:***成绩:完成时间:2012年7月6日题目JAVA程序课程设计任务一手机号码检测器(一)设计任务与目标任务:手机号码是由11位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。

要求目标:检测所输入的手机号码是否是11位检测每一位是否都为数字。

分析论证:本题目要求对用户输入的手机号码进行检测,判断输入的正确性。

曾经有做过类似字符比较的题目,可以借鉴。

将字符的比较运用进来,把用户的输入字符和正确的进行比较。

但是必须满足多次输入和错误提醒。

同时还可以添加提示错误的位置和错误字符是什么。

程序正确运行时可以满足以上功能,基本可以达到题目要求了。

(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了do_whiele()循环。

每次输入结束后提示是否继续输入。

在循环中逐步对输入的号码位数和字符类型进行检测。

位数可以分超出和不足,并均给出错误提示。

如果位数满足要求后对手机号码类型进行检测。

一般手机号在0~9之间,所以不满足的字符将报错。

通过将输入的整个字符串调用charAt(int i)方法对字符串逐位比较。

本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。

在程序的调试过程中,有过多次输入正确的号码也会报错(还会报错0位错误),这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为0。

最终解决了此问题。

(三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。

最终结果如下图:实验结果截图:(五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。

Java程序设计实验报告_2

Java程序设计实验报告_2

Java程序设计实验报告姓名:学号:班级:课题名称(附程序名):JAVA计算器(Calculator.java)一、实验目的通过JAVA图形接口的应用,编写出一图形界面的科学计算器;熟悉JAVA程序开发的一般步骤,掌握事件驱动,并能掌握一定的Java 编程能力,在实践中能感受Java的奥秘!同时检验自己的学习成果。

二、实验任务具有加减乘除的计算器,可以延伸到开方等其他的一些计算。

三、开发工具与平台Microsoft Visual Studio 2005四、设计思路:1)界面设计2)逻辑设计首先明确该实验设计的要求实现的基本功能,其次设计布局,将空间划分为由行和列组成的网格单元,每个单元放一个组件,网格单元大小可以不同,尽量将相同属性的按钮放在一个区域,方便操作。

3)软件调试与测试经过调试之后,能实现基本的四则运算,并能实现开方和消除错误的数。

4)软件设计优化该软件的界面应该更加流畅,同时我相信随着自己只是的日益丰富,开发软件的速度更快,效率更高,功能更加全面!5)实验总结不足:没有实现Mc,MR,MS,M+以及菜单栏几个功能,有待进一步完善。

这样才能够完成自己的第一个应用软件设计!优点:通过本次实验设计,大体了解了Java图形接口的应用,并在过程中增强了对程序的调试能力。

对JAVA有了更深一步的理解,学会如何解决问题,如何坚持对程序的调试,同时也增强了自己学习Java的信心。

五、附录源程序如下:import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator extends JFrame implements ActionListener { boolean init = true;boolean isMath = false;boolean clear = true;boolean clickable = true;double qian;String fuhao;int all = 0;JTextField text = new JTextField(25);JButton bM = new JButton();JButton bMC = new JButton("MC");JButton bMR = new JButton("MR");JButton bMS = new JButton("MS");JButton bMADD = new JButton("M+");JButton b0 = new JButton("0");JButton b1 = new JButton("1");JButton b2 = new JButton("2");JButton b3 = new JButton("3");JButton b4 = new JButton("4");JButton b5 = new JButton("5");JButton b6 = new JButton("6");JButton b7 = new JButton("7");JButton b8 = new JButton("8");JButton b9 = new JButton("9");JButton bNOP = new JButton("+/-");JButton bDot = new JButton(".");JButton bDiv = new JButton("/");JButton bMul = new JButton("*");JButton bSub = new JButton("-");JButton bAdd = new JButton("+");JButton bSprt = new JButton("sprt");JButton bMod = new JButton("%");JButton bDao = new JButton("1/x");JButton bEqual = new JButton("=");JButton bBackspace = new JButton("Backspace"); JButton bCE = new JButton("CE");JButton bC = new JButton("C");public Calculator() {this.setTitle("计算器");JMenuBar mainMenu = new JMenuBar();setJMenuBar(mainMenu);JMenu editMenu = new JMenu("编辑");JMenu viewMenu = new JMenu("查看");JMenu helpMenu = new JMenu("帮助");mainMenu.add(editMenu);mainMenu.add(viewMenu);mainMenu.add(helpMenu);JPanel jpDisplay = new JPanel();JPanel jpInput = new JPanel();JPanel jpLeft = new JPanel();JPanel jpRight = new JPanel();text.setText("0.");text.setHorizontalAlignment(JTextField.RIGHT); jpDisplay.add(text);bM.addActionListener(this);bMC.addActionListener(this);bMS.addActionListener(this);bMR.addActionListener(this);bMADD.addActionListener(this);jpLeft.setLayout(new GridLayout(5, 1)); jpLeft.add(bM);jpLeft.add(bMC);jpLeft.add(bMR);jpLeft.add(bMS);jpLeft.add(bMADD);JPanel jpInnerN = new JPanel();JPanel jpInnerS = new JPanel();bBackspace.addActionListener(this);bCE.addActionListener(this);bC.addActionListener(this);jpInnerN.setLayout(new GridLayout(1, 3)); jpInnerN.add(bBackspace);jpInnerN.add(bCE);jpInnerN.add(bC);b0.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);bNOP.addActionListener(this);bDot.addActionListener(this);bDiv.addActionListener(this);bMul.addActionListener(this);bSub.addActionListener(this);bAdd.addActionListener(this);bSprt.addActionListener(this);bMod.addActionListener(this);bDao.addActionListener(this);bEqual.addActionListener(this);jpInnerS.setLayout(new GridLayout(4, 5));jpInnerS.add(b7);jpInnerS.add(b8);jpInnerS.add(b9);jpInnerS.add(bDiv);jpInnerS.add(bSprt);jpInnerS.add(b4);jpInnerS.add(b5);jpInnerS.add(b6);jpInnerS.add(bMul);jpInnerS.add(bMod);jpInnerS.add(b1);jpInnerS.add(b2);jpInnerS.add(b3);jpInnerS.add(bSub);jpInnerS.add(bDao);jpInnerS.add(b0);jpInnerS.add(bNOP);jpInnerS.add(bDot);jpInnerS.add(bAdd);jpInnerS.add(bEqual);jpRight.setLayout(new BorderLayout());jpRight.add(jpInnerN, BorderLayout.NORTH);jpRight.add(jpInnerS, BorderLayout.CENTER);jpInput.setLayout(new BorderLayout());jpInput.add(jpLeft, BorderLayout.WEST);jpInput.add(jpRight, BorderLayout.CENTER);Container pane = this.getContentPane();pane.setSize(333, 208);this.setLocation(300, 200);this.setLayout(new BorderLayout());pane.add(jpDisplay, BorderLayout.CENTER);pane.add(jpInput, BorderLayout.SOUTH);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.pack();this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (init)this.text.setText("0.");init = false;Object source = e.getSource();if (source == bBackspace) {String s = text.getText();text.setText("");for (int i = 0; i < s.length() - 1; i++) { char a = s.charAt(i);text.setText(text.getText() + a);}System.out.println("backspace");}if (source == bCE) {text.setText("0.");clear = true;init = true;System.out.println("CE");}if (source == bC) {text.setText("0.");clear = true;init = true;System.out.println("C");}if (source == bM) {System.out.println("M");}if (source == bMC) {System.out.println("MC,功能末实现");}if (source == bMR) {System.out.println("MR,功能末实现");}if (source == bMS) {System.out.println("MS,功能末实现");}if (source == bMADD) {System.out.println("M+,功能末实现");}if (source == b0) {System.out.println("0");if (clear == false)// 判断是否点击了符号位text.setText("");text.setText(text.getText() + "0");}if (source == b1) {if (clear == false)text.setText("");text.setText(text.getText() + "1");clear = true;// 第二次不在清空(前二句)}if (source == b2) {System.out.println("2");if (clear == false)text.setText("");text.setText(text.getText() + "2");clear = true;}if (source == b3) {System.out.println("3");if (clear == false)text.setText("");text.setText(text.getText() + "3");clear = true;}if (source == b4) {System.out.println("4");if (clear == false)text.setText("");text.setText(text.getText() + "4");clear = true;}if (source == b5) {System.out.println("5");if (clear == false)text.setText("");text.setText(text.getText() + "5");clear = true;}if (source == b6) {System.out.println("6");if (clear == false)text.setText("");text.setText(text.getText() + "6");clear = true;}if (source == b7) {System.out.println("7");if (clear == false)text.setText("");text.setText(text.getText() + "7");clear = true;}if (source == b8) {System.out.println("8");if (clear == false)text.setText("");text.setText(text.getText() + "8");clear = true;}if (source == b9) {System.out.println("9");if (clear == false)text.setText("");text.setText(text.getText() + "9");clear = true;}try{if (source == bNOP) {System.out.println("+/-");boolean isNumber = true;String s = text.getText();for (int i = 0; i < s.length(); i++)if (!(s.charAt(i) >= '0' && s.charAt(i) <= '9'|| s.charAt(i) == '.' || s.charAt(i) == '-')) {isNumber = false;break;}if (isNumber == true) {// 如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-') {text.setText("");for (int i = 1; i < s.length(); i++) {char a = s.charAt(i);text.setText(text.getText() + a);}}// 如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsetext.setText('-' + s);}}if (source == bDot) {System.out.println(".");clickable = true;for (int i = 0; i < text.getText().length(); i++)if ('.' == text.getText().charAt(i)) {clickable = false;break;} // 第一层判断是否里面含有小数点;if (clickable == true)// 第二层判断text.setText(text.getText() + ".");}if (source == bDiv) {System.out.println("/");qian = Double.parseDouble(text.getText());fuhao = "/";clear = false;}if (source == bMul) {System.out.println("*");qian = Double.parseDouble(text.getText());fuhao = "*";clear = false;}if (source == bSub) {System.out.println("-");qian = Double.parseDouble(text.getText());fuhao = "-";clear = false;}if (source == bAdd) {System.out.println("+");qian = Double.parseDouble(text.getText());fuhao = "+";clear = false;}if (source == bSprt) {System.out.println("sprt");String s = text.getText();if (s.charAt(0) == '-') {text.setText("负数不能开根号");} elsetext.setText(Double.toString(ng.Math.sqrt(Double.parseDouble(text.getText()))));clear = false;}if (source == bMod) {System.out.println("%,功能末实现");}if (source == bDao) {System.out.println("1/x");if (text.getText().charAt(0) == '0'&& text.getText().length() == 1) {text.setText("除数不能为零");} else {boolean isDec = true;int i, j, k;String s= Double.toString(1 / Double.parseDouble(text.getText()));for (i = 0; i < s.length(); i++)if (s.charAt(i) == '.')break;for (j = i + 1; j < s.length(); j++)if (s.charAt(j) != '0') {isDec = false;break;}if (isDec == true) {String stemp = "";for (k = 0; k < i; k++)stemp += s.charAt(k);text.setText(stemp);} elsetext.setText(s);}clear = false;}if (source == bEqual) {System.out.println("=");Double ss=Double.parseDouble(text.getText());text.setText("");if (fuhao == "+")text.setText(qian + ss + "");if (fuhao == "-")text.setText(qian - ss + "");if (fuhao == "*")text.setText(qian * ss + "");if (fuhao == "/")text.setText(qian / ss + "");clear = false;// 要清空前一次的数据;}}catch (Exception ee) {System.out.println("请正确输入");text.setText("运算出错,给您带来不便,sorry");clear = false;}}public static void main(String[] args) {new Calculator();}}11。

JAVA课程设计报告书捕鱼达人

JAVA课程设计报告书捕鱼达人

JAVA课程设计报告书■捕鱼达人一、项目概述本课程设计项目名为“捕鱼达人”,是一款基于Java语言开发的休闲小游戏。

游戏的玩法类似于传统的电子捕鱼游戏,玩家需要控制一个炮台发射炮弹,捕获游泳在屏幕上的鱼类,从而获取积分。

游戏采用图形界面展示,通过键盘操作进行操作。

二、项目功能本项目实现了以下主要功能:1.游戏开始界面:展示游戏名称、游戏说明和开始游戏按钮。

2.游戏主界面:展示玩家得分、可发射的炮弹数量、当前关卡和剩余时间。

3.炮台操作:玩家可以使用键盘左右箭头键控制炮台的旋转角度,空格键发射炮弹。

4.游戏关卡:游戏包含多个关卡,每个关卡有不同游泳速度和分数的鱼类。

5.鱼类生成和移动:游戏会随机生成游泳在屏幕上的鱼类,玩家需要通过炮弹捕获鱼类。

6.炮弹碰撞检测:当炮弹与鱼类碰撞时,计算得分并移除鱼类和炮弹。

7.时间限制:游戏设有时间限制,到达时间上限后游戏结束。

8.游戏结束界面:展示玩家得分、最高分和重新开始游戏按钮。

三、游戏开发过程本项目基于JaVa语言开发,采用面向对象的编程思想。

以下是项目的开发过程和关键步骤:1.游戏框架搭建:使用JavaSwing库创建游戏窗口,定义游戏主界面和游戏开始界面。

2.炮台操作:使用键盘监听器,监听左右箭头键的按F事件,实现炮台的旋转操作。

3.炮弹发射:使用键盘监听器,监听空格键的按下事件,发射炮弹。

创建炮弹类,并定义炮弹的弹道和移动速度。

4.鱼类生成和移动:使用线程控制鱼类的生成和移动。

创建鱼类类,并定义鱼类的游泳速度和移动路径。

5.碰撞检测:使用碰撞检测算法,判断炮弹与鱼类是否发生碰撞。

如果发生碰撞,计算得分并移除鱼类和炮弹。

6.游戏计时:使用定时器控制游戏时间的倒计时,到达时间上限后游戏结束。

7.界面设计:美化游戏界面,添加游戏结束界面,并显ZΓ⅞71家得分和最高分。

四.项目总结本项目旨在通过实践应用Java编程知识,提高学生对Java面向对象编程的理解和掌握程度。

Java程序设计报告24928

Java程序设计报告24928

《Java程序设计》课程设计报告xxxxxxx一、设计时间二、设计地点三、设计目的1.复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2.课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。

提高学生适应实际,实践编程的能力;3.培养在项目开发中团队合作精神、创新意识及能力。

4.培养查阅资料,独立思考问题的能力。

四、设计小组成员五、指导老师六、设计课题抽奖系统的设计与实现。

理由:1、界面综合度高,设计此界面要用到多种知识点,有利于大家熟练掌握和运用。

2、整个系统简洁明了,适于初学者。

3、代码编写涉及面广,利于提高综合应用能力。

七、基本思路及关键问题的解决方法基本思路:1.利用Java图形用户界面AWT组件创建抽奖系统里的姓名、密码、颜色标签和各种按钮以及显示信息的文本框,通过流布局管理器美化用户注册和登录界面;2.通过AWT事件类和事件监听器接口实现提示信息和变化信息,具体有WindowEvent窗口事件类、WindowListener窗口事件监听器接口、MouseListener鼠标事件监听接口等;3.AWT组件类中注册事件监听器:*.addMouseListener(this) 注册鼠标事件监听器*.addWindowListener(this) 注册窗口事件监听器关键问题的解决方法:问题:○1没有注册事件监听器添加语句addActionListener(this)○2没有判断输入是否为空加入语句if (tfd1.getText().equals("")||tfd2.getText().equals(""))八、算法及流程图九、调试过程中出现的问题及相应解决办法1、出现的问题:1) 在设计系统界面的时候不知道怎样进行界面布局。

2) 在改变界面大小的时候,无法把握大小。

Java程序设计报告《贪吃蛇》

Java程序设计报告《贪吃蛇》

Java程序设计报告《贪吃蛇》《Java程序设计》课程设计报告题目:贪吃蛇游戏的设计与实现指导老师:沈泽刚专业:计算机科学与技术班级:10-3姓名:梁潇一、课程设计目的贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较适合。

目的是更好地了解和掌握java语言,并熟练的运用java语言来实现项目。

培养自主学习的能力。

本软件在设计方面本着方便、实用及娱乐性高的宗旨,在外界进行设计的过程中,始终坚持清晰明了,在性能方面能够实现效率高,不易出错等优点。

二、课程设计要求贪吃蛇游戏设计与实现,主要分为以下二个模块:游戏主界面模块、游戏控制模块。

三、课程设计报告内容(一) 系统设计1、程序概述本程序是一个利用Java应用软件制作的贪吃蛇小游戏。

按钮、暂停按钮、游戏的退出按钮、困难程度、积分排行、关于作者。

(二)代码设计import java.awt.Color;import java.awt.Container;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.InputEvent;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.*;public class TanChiShe extends JFrame implements ActionListener, KeyListener,Runnable{private JMenuBar menuBar;private JMenu youXiMenu,nanDuMenu,fenShuMenu,guanYuMenu; private JMenuItem kaiShiYouXi,exitItem,zuoZheItem,fenShuItem;private JCheckBoxMenuItem cJianDan,cPuTong,cKunNan; private int length = 6;private Toolkit toolkit;private int i,x,y,z,objectX,objectY,object=0,growth=0,time;private int difficult=2;private int m[]=new int[50];private int n[]=new int[50];private Thread she = null;private int life=0;private int foods = 0;private int fenshu=0;public void run() //运行{time=500;for(i=0;i<=length-1;i++){m[i]=90-i*10;n[i]=60;}x=m[0];y=n[0];z=4;while(she!=null){check();try{she.sleep(time);}catch(Exception ee){System.out.println(z+"");}}}public TanChiShe(){//***************创建新对象**************setVisible(true);menuBar = new JMenuBar();Container con=getContentPane();toolkit=getToolkit();//**************游戏菜单对象***************** youXiMenu = new JMenu("游戏");kaiShiYouXi = new JMenuItem("开始游戏");exitItem = new JMenuItem("退出游戏");//***************困难程度对象**************** nanDuMenu = new JMenu("困难程度");cJianDan = new JCheckBoxMenuItem("简单");cPuTong = new JCheckBoxMenuItem("普通");cKunNan = new JCheckBoxMenuItem("困难");//*****************分数菜单对象****************fenShuMenu = new JMenu("积分排行");fenShuItem = new JMenuItem("最高记录");//****************关于对象*********************guanYuMenu = new JMenu("关于");zuoZheItem = new JMenuItem("关于作者");//***************设置关于菜单*******************guanYuMenu.add(zuoZheItem);//****************设置困难程度菜单**************nanDuMenu.add(cJianDan);nanDuMenu.add(cPuTong);nanDuMenu.add(cKunNan);//******************设置分数菜单***************fenShuMenu.add(fenShuItem);//*****************设置游戏菜单****************youXiMenu.add(kaiShiYouXi);youXiMenu.add(exitItem);//******************设置主菜单********************menuBar.add(youXiMenu);menuBar.add(nanDuMenu);menuBar.add(fenShuMenu);menuBar.add(guanYuMenu);//*********************监听注册*****************zuoZheItem.addActionListener(this);kaiShiYouXi.addActionListener(this);exitItem.addActionListener(this);addKeyListener(this);fenShuItem.addActionListener(this);//*********************加快捷键********************KeyStroke keyOpen = KeyStroke.getKeyStroke('O',InputEvent.CTRL_DOWN_MASK);kaiShiYouXi.setAccelerator(keyOpen);KeyStroke keyExit = KeyStroke.getKeyStroke('X',InputEvent.CTRL_DOWN_MASK);exitItem.setAccelerator(keyExit);//*****************设置框架**********************setJMenuBar(menuBar);setTitle("贪吃蛇");setResizable(false);setBounds(300,200,400,400);validate();setDefaultCloseOperation(EXIT_ON_CLOSE);}public static void main(String args[]){new TanChiShe();}//******************菜单监听****************************** public void actionPerformed(ActionEvent e){if(e.getSource()==kaiShiYouXi){length = 6;life = 0;foods = 0;if(she==null){she=new Thread(this);she.start();}else if(she!=null){she=null;she= new Thread(this);she.start();}}if(e.getSource()==exitItem){System.exit(0);}if(e.getSource()==zuoZheItem)JOptionPane.showMessageDialog(this, "梁潇"+"\n\n");}if(e.getSource()==fenShuItem){JOptionPane.showMessageDialog(this,"最高记录为"+fenshu+"");}}//**************检查一下******************************* public void check(){isDead();if(she!=null){if(growth==0){reform();}else{upgrowth();}if(x==objectX&&y==objectY){object=0;growth=1;toolkit.beep();}//****************产生食物坐标**********************if(object==0){object=1;objectX=(int)Math.floor(Math.random()*39)*10;objectY=(int)Math.floor(Math.random()*29)*10+50;}this.repaint();}}void isDead()if(z==4){x=x+10;}else if(z==3){x=x-10;}else if(z==2){y=y+10;}else if(z==1){y=y-10;}if(x<0||x>390||y<50||y>390) {she=null;}for(i=1;i<length;i++){if(m[i]==x&&n[i]==y){she=null;}}}public void upgrowth(){if(length<50){length++;}growth--;time=time-10;reform();life+=100;if(fenshu<life){fenshu = life;}foods++;}public void reform(){for(i=length-1;i>0;i--){m[i]=m[i-1];n[i]=n[i-1];}if(z==4){m[0]=m[0]+10;}if(z==3){m[0]=m[0]-10;}if(z==2){n[0]=n[0]+10;}if(z==1){n[0]=n[0]-10;}}public void keyPressed(KeyEvent e){if(she!=null){if(e.getKeyCode()==KeyEvent.VK_UP){if(z!=2){z=1;check();}}else if(e.getKeyCode()==KeyEvent.VK_DOWN) {if(z!=1){z=2;check();}}else if(e.getKeyCode()==KeyEvent.VK_LEFT){if(z!=4){z=3;check();}}else if(e.getKeyCode()==KeyEvent.VK_RIGHT) {if(z!=3){z=4;check();}}}}public void keyReleased(KeyEvent e){// TODO 自动生成方法存根}public void keyTyped(KeyEvent e){// TODO 自动生成方法存根}public void paint(Graphics g){//*******************画图********************** g.setColor(Color.DARK_GRAY);g.fillRect(0,50,400,400);g.setColor(Color.pink);for(i=0;i<=length-1;i++){g.fillRect(m[i],n[i],10,10);}g.setColor(Color.green);g.fillRect(objectX,objectY,10,10);g.setColor(Color.white);g.drawString("当前分数"+this.life,6,60);g.drawString("当前已吃食物数"+this.foods,6,72); }}(三)测试(四)使用说明在游戏过程中,用户通过点击小键盘区的方向键来控制蛇的运行方向;当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束。

java程序设计报告

java程序设计报告

程序设计课程设计报告设计题目:计算器模拟程序专业班级:信管学号:姓名:指导教师:郭春燕时间:2011.06.13-2011.06.24摘要计算器模拟程序课程项目是在JAVA学习过程一项要的内容,它涵盖了对JAVA内容学习的考察,同时通过实验项目,也加强了学生的动手能力。

进一步加深对Java语言的理解和掌握,把自己所学的理论知识运用到实际应用中去。

计算器模拟程序是一个小的计算算程序,包括日常我们用到的一些计算方法。

主要研究的是加法、减法、乘法、出发、三角函数、阶乘、以及次方等。

采用的是JAVA语言进行编写,引用JAVA自带数据库中swt包与math包中的一些构造类与函数类,然后自己构造板块和模型,从而完成自己的程序设计项目。

目录一、课题概述.............................................................................................................................. - 3 -1、课题任务........................................................................................................................ - 3 -2、课题目的........................................................................................................................ - 3 -3、课题要求........................................................................................................................ - 3 -二、设计思路及采取的方案...................................................................................................... - 4 -1、总体设计思想................................................................................................................ - 4 -2、实验方案........................................................................................................................ - 4 -三、实验结果............................................................................................................................ - 16 -四、总结体会............................................................................................................................ - 16 -1、遇到的难题.................................................................................................................. - 16 -2、一些应用中的技巧...................................................................................................... - 16 -3、心得体会与收获.......................................................................................................... - 17 -一、课题概述1、课题任务自主设计与编写一个计算机模拟程序,实现一个简单的计算器程序,能够进行简单的数据运算。

(完整版)Java程序设计实验报告

(完整版)Java程序设计实验报告

Java 程序设计实验报告实验一实验题目:从键盘上读入10 个字符串存入数组 a 中,而后输出这10个字符串中最大字符串和最小字符串。

实验代码:public class StrPro {public static void main(String[] args) {String str[] =new String[5];System. out .println("Please input 10 strings :" );int i;String max,min;for (i=0;i<5;i++){System. out .print( "Please input the " +(i+1)+ " string:" );Scanner sc = new Scanner(System. in );str[i] = sc.nextLine();}max = str[0];min = str[0];for (i=0;i<str.length ;i++){if (pareTo(str[i])<0){max = str[i];}if (pareTo(str[i])>0){min = str[i];}}System. out .println( System. out .println( " 最大的字符串为: " +max); " 最小的字符串为: " +min);}}实验结果:实验心得领会:掌握了 java 的基本语法,数组的定义与使用,做这个实验要了解字符串数组的定义及字符串数组的输入方法,还有比较字符串数组的大小的调用方法等。

实验二实验题目:自定义一个矩形类( Rectangle ),包括的属性有:长( length ),宽(width ),包括的方法有:对于属性的 setter 和 getter 方法,即 setLength ,getLength ,setWidth ,getWidth ,计算矩形面积的方法(g etArea )。

JAVA程序设计报告

JAVA程序设计报告

JA V A程序设计报告姓名:学号:成绩:__________同组人员:东南大学自动化学院一、引言Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言以下简称Java语言和Java平台的总称..Java平台由Java虚拟机Java Virtual Machine和Java 应用编程接口Application Programming Interface、简称API构成..其具有的特点如下:1、Java语言是简单的..Java语言的语法与C语言和C++语言很接近;使得大多数程序员很容易学习和使用Java..另一方面;Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性;如操作符重载、多继承、自动的强制类型转换..特别地;Java语言不使用指针;并提供了自动的废料收集;使得程序员不必为内存管理而担忧..2、Java语言是一个面向对象的..Java语言提供类、接口和继承等原语;为了简单起见;只支持类之间的单继承;但支持接口之间的多继承;并支持类与接口之间的实现机制关键字为implements..Java语言全面支持动态绑定;而C++ 语言只对虚函数使用动态绑定..总之;Java语言是一个纯的面向对象程序设计语言..3、Java语言是分布式的..Java语言支持Internet应用的开发;在基本的Java应用编程接口中有一个网络应用编程接口java;它提供了用于网络应用编程的类库;包括URL、URLConnection、Socket、 ServerSocket等..Java的RMI远程方法激活机制也是开发分布式应用的重要手段..二.问题描述设计一个家庭通讯录小管理程序;请构建一个小数据酷;数据库字段为联系人姓名、家庭住址、移动电话、固定电话..要求如下:数据信息的录入功能;信息的查找功能;信息的删去功能;实现信息的打印功能..三.问题分析通讯簿管理现在是人们办公中不可缺少的一项环节;可以有效的管理众多的联系人的相关信息;实现查找信息的便捷化;添加联系人的简易化;以及及时修改联系人相关信息;删去不必要的联系人信息;为人们在使用过程创造便捷化和简易化;可是长期以来人们都是通过手工的方式来管理学生的成绩的;而且当进行成绩排名的时候这项工作就比较繁琐了;通过手工既耗时又耗力..为了使这项工作变得简单易行;开发一个通讯簿管理系统是很有必要的..要求该系统有如下的功能:1.可浏览全体联系人的成绩情况2.可添加联系人的具体信息3.可删除联系人的具体信息4.可进行联系人的排序查找5.可进行联系人信息的修改6.将数据储存在数据库中保存四.系统功能结构五.在设计中完成的模块本Java电话簿管理系统主要分为三个模块:界面模块、监听操作模块、数据库操作模块..我在程序开发中主要完成了事件监听的模块..1.实现方式程序开始定义了菜单栏和菜单项JMenuBar menubar;JMenu setmenu; caozuo;JMenuItem name; data; addrecord; delrecord; selrecord; updrecord;因此要对定义的Mennuitem进行事件监听;items事件的interface 为ItemListener ;方法为itemstatechangeitemevent..还定义了ButtonJButton add; //添加按钮JButton select;所以我通过 .addActionListenerthis;来对每个菜单项的items和每个Button进行事件监听;在程序结尾处又重新定义每个事件的方法如下..public void actionPerformedActionEvent ae{}接下来用了if"按姓名排序" == ae.getActionCommand{}else if"按序号排序" == ae.getActionCommand{}else if"添加记录" == ae.getActionCommand{}else if"查找记录" == ae.getActionCommand{}else if"修改记录" == ae.getActionCommand{}else if"删除记录" == ae.getActionCommand{}等方法从新定义了每一个事件的具体处理方法..2.具体定义方式A.if"按姓名排序" == ae.getActionCommand{}此方法作用是将信息按姓名进行排列getAllRecord;int count = defaultModel.getRowCount;forint i = 0; i < count - 1; i++forint j = i + 1; j < count; j++ {String min = null;String max = null;min = String.valueOfdefaultModel.getValueAti; 1;max = String.valueOfdefaultModel.getValueAtj; 1;ifminpareTomax > 0{rowchangei; j;}else{B.else if"按序号排序" == ae.getActionCommand getAllRecord;int count = defaultModel.getRowCount;forint i = 0; i < count - 1; i++forint j = i + 1; j < count; j++{int min = 0;int max = 0;min = Integer.valueOfString.valueOfdefaultModel.getValueAti; 0; max = Integer.valueOfString.valueOfdefaultModel.getValueAti; 0; ifmin > max{rowchangei; j; }else{ };C. else if"添加记录" == ae.getActionCommand此操作涉及数据库的链接和添加信息;所以我从网上当下来的下面的程序片段String getaddname = t_name.getText;String getadd_addr = t_addr.getText;String getadd_guhua = t_guhua.getText;String getadd_mobilenum = t_mobile_num.getText;ifgetaddname.length == 0 || getadd_addr.length == 0JOptionPane.showMessageDialogthis; "请输入姓名和电话号码"; "Warning"; RMATION_MESSAGE;else{ResultSet rs;Connection con;Statement sql;try{ Class.forName"sun.jdbc.odbc.JdbcOdbcDriver"; }catchClassNotFoundException e{JOptionPane.showMessageDialogthis; "ClassNotFoundException"; "Warning"; RMATION_MESSAGE; }{con=DriverManager.getConnection"jdbc:odbc:phone"; ""; "";sql=con.createStatement;sql.executeUpdate"INSERT INTO 电话簿姓名;家庭住址;固定电话;移动电话V ALUES'" + getaddname + "';'" + getadd_addr + "';'" + getadd_guhua + "';'" + getadd_mobilenum + "'";rs=sql.executeQuery"SELECT FROM 电话簿WHERE 姓名='" + getaddname + "' AND 家庭住址='" + getadd_addr + "'";long getaddxuhao = 0;while rs.next{getaddxuhao = rs.getLong"序号";}defaultModel.addRownew Vector;//在表格中添defaultModel.setValueAt getaddxuhao; defaultModel.getRowCount - 1; 0;defaultModel.setValueAt getaddname; defaultModel.getRowCount - 1; 1;defaultModel.setValueAt getadd_addr; defaultModel.getRowCount - 1; 2; defaultModel.setValueAt getadd_guhua; defaultModel.getRowCount - 1; 3;defaultModel.setValueAtgetadd_mobilenum;defaultModel.getRowCoun -con.close;catchSQLException e{JOptionPane.showMessageDialogthis; "SQLException"; "Warning"; RMATION_MESSAGE;}catchException e{JOptionPane.showMessageDialogthis; "Exception"; "Warning"; RMATION_MESSAGE;} }t_name.setText"";t_addr.setText"";t_guhua.setText"";t_mobile_num.setText"";}D.else if"查找记录" == ae.getActionCommand也是从网上查到的;E.else if"修改记录" == ae.getActionCommand从书上摘抄的F.else if"删除记录" == ae.getActionCommand也是从书上抄的六.操作简介打开系统会看到如下图1的系统界面图11.在添加栏中输入要添加人的相应姓名、家庭住址、固定电话、移动电话后;点添加按钮就会将要添加的信息添加到下面的显示栏中;同时也保存了添加的信息..同时在下面的显示栏中会出现你所记录的信息的序号;是对已记录信息的个数的统计..如图1所示..2.在相同的文本区中输入要查询人的姓名然后点击右边的查找按钮就可以将要查询的人的信息显示在下面的显示框中;方便查找..如图2所示为输入姓名“马飞”点击查找按钮后的界面..图23.在菜单栏上点击操作选项会弹出下拉项;点击“删除记录”就会弹出如图3所示的对话框;输入要删除人的姓名就可以把该人的信息删除;如果记录中没有要删除的人;则会出现一提示对话框给出“该人不存在”的提示信息..图33.在菜单栏的操作项下点击“修给记录”按钮会弹出对话框依次要求输入被修改人的姓名;然后是“要修改的家庭住址”、“要修改的固定电话”、“要修改的移动电话”..用户可根据要修改的项目点击“确定”或“撤销”按钮..方便的对信息进行修改..具体信息如图4、图5、图6、图7所示..图4 图5图6 图74.点击设置菜单下的“按姓名排序按钮”;在下面的显示框中就会出现按姓名排序的列表;主要是按照英文首字母的顺序从a拍到z的..若点击“按序号排序按钮”;显示框中就会列出按照顺序排列的相关人的信息..如图8所示图8七.参考文献1苗春义. Java项目开发全程实录J . 北京:清华大学出版社;2008.6 2辛运帏、绕一梅、马素霞. java程序设计J . 北京:清华大学出版社;2006.8。

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

分类号:密级:学号:******* Java项目报告——学生信息管理系统作者姓名: `````所在系部:`````专业: ````````指导教师: ``````2010 年 06 月 27 日摘要现代社会随着科技的发展,如果依然采用人工管理庞大的数据库是一项繁重枯燥的工作,无论是数据录入,查询还是修改都存在着工作量大,效率低下,周期长的缺点。

而计算机管理系统的引进将给人工管理数据库的工作带来一次彻底的变革。

学校由于学生众多,学生数据信息库庞大,使信息的管理成为了一个复杂繁琐的工作。

本系统针对学校,经过实际的需求分析,采用功能强大的VB6.0作为开发工具来开发学生信息管理系统。

整个系统从符合操作简便,界面美观、灵活、实用的要求出发,完成学生信息管理的全过程,包括系统管理、基本信息管理、学习管理、奖惩管理和打印报表等功能。

经过使用证明,本文所设计的学生信息管理系统可以满足学校对学生信息管理方面的需要。

本项目报告主要介绍了本课题的开发背景,所要完成的功能和开发的过程。

目录摘要 (2)目录 (3)前言 (4)正文 (5)1需求分析 (5)1.1 管理学生信息 (5)1.2 管理课程信息 (5)1.3 管理选课与成绩 (5)2系统设计 (5)2.1结构设计 (5)2.2 功能流程及工作描述 (6)4详细设计及功能实现 (8)4.1学生信息管理系统主界面模块 (8)4.1.1成绩信息综合管理类 (8)4.1.2添加成绩功能 (14)4.1.3修改成绩功能 (17)4.1.4保存成绩查询功能 (20)总结 (25)致谢 (26)参考文献 (27)小组成员 (28)前言学生成绩管理工作是高校教育工作的一项重要内容。

教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织、协调、指挥并指导各用户活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。

学生成绩管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。

学生成绩工作关系到高校教学秩序的稳定。

随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。

提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。

同时,运用先进的信息技术,开发高校综合成绩管理信息系统,是深化教务体制改革的有利措施。

JAVA以GUI的编程方式、面向对象的程序设计、众多的GUI组件和强大的数据库应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者的青睐。

JAVA是Windows系统下的可视化集成开发工具,提供了强大的可视化组件功能,使程序员能够快速、高效地开发出Windows系统下的应用程序,特别是在数据库和网络方面,JAVA与其它开发工具相比更是胜出一筹。

可视化主要是指开发图形用户界面,而只需调用GUI组件即可。

本此系统由6个模块构成,包括学生管理系统主界面模块,学生信息管理模块,课程信息管理模块,成绩信息管理模块,信息查询模块和数据库操作模块。

我主要负责学生管理系统主界面模块、课程信息管理模块,成绩信息管理模块。

正文1需求分析学生管理信息系统的功能总结起来,共需要以下几个方面。

1.1 管理学生信息管理所有学生的基本信息,包括添加、修改、删除等,可以根据各种条件查询出要求的信息。

1.2 管理课程信息管理所有课程的基本信息,包括添加、修改、删除等,可以根据各种条件查询出要求的信息。

1.3 管理选课与成绩根据学号进行选课,登记所选课程的成绩,可以根据各种条件查询出所选课程信息与成绩的信息。

2系统设计2.1结构设计根据对系统进行的需求分析,本系统将分为4各模块:(1)学生管理管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。

(2)课程管理管理课程的基本信息,包括课程信息的添加、修改、删除。

(3)成绩管理管理学生选课的成绩信息,包括成绩的登记与修改。

(4)信息管理查询已经登记的信息,包括学生的基本信息,课程的基本信息与成绩信息。

2.2 功能流程及工作描述(1)增加学生信息系统操作人员打开学生信息增加界面,输入相关信息(姓名、性别、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。

(2)修改学生信息根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。

(3)删除学生信息根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。

(4)学生选课选择学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的记录。

(5)增加课程信息系统操作人员打开课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。

(6)修改课程信息根据课程号查询出该课程的相关信息,修改相关条目后保存在数据库中。

(7)删除课程信息根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。

(8)登记成绩根据学号,以及该学生所选择的相关信息,进行成绩登记,未选课的学生无法进行登记。

(9)修改成绩对已登记的成绩查询信息进行编辑。

(10)学生查询可以根据学生学号、学生性别、学生所学专业、学生所属学院对学生信息进行查询,所有符合查询条件的学生信息将都被显示出来。

(11)课程查询可以根据课程名称和授课教师的姓名对课程详细信息进行查询,所有符合查询条件的课程信息都会被显示出来。

(12)成绩查询根据学生的学号来查询该学生所有课程的成绩。

3数据库设计在本系统中的数据库中应包含4个表:用户表(users):学生选课表(SC):课程信息表(Course):学生信息表(Student):4详细设计及功能实现该系统由6个模块构成,包括学生管理系统主界面模块,学生信息管理模块,课程信息管理模块,成绩信息管理模块,信息查询模块和数据库操作模块。

4.1学生信息管理系统主界面模块成绩信息管理模块主要同由GradeInfo.javaAddGradeInfo.javaEditGradeInffo.jfava这三个文件组。

4.1.1成绩信息综合管理类package 管理系统;import javax.swing.*;import java.awt.*;import .*;/*** 成绩信息综合管理类* 提供主界面,供其他类继承*/public class GradeInfo extends JFrame {Container contentPane;JPanel centerPanel=new JPanel();JPanel upPanel=new JPanel();JPanel downPanel=new JPanel();//框架的大小Dimension faceSize=new Dimension();JLabel jLabel1=new JLabel();JLabel jLabel2=new JLabel();JLabel jLabel3=new JLabel();JLabel jLabel4=new JLabel();JLabel jLabel5=new JLabel();JLabel jLabel6=new JLabel();String[] stu=null;//记录所有的学号String[] cReturn=null;//记录学生的选课信息JComboBox sNum;JTextField sName=new JTextField(15);JTextField cNum=new JTextField(15);JComboBox cName;JTextField cTeacher=new JTextField(15);JTextField Grade=new JTextField(15);JTextField sMajor=new JTextField(15);JTextField sCollege=new JTextField(15);JTextField sHome=new JTextField(46);JButton searchInfo=new JButton();JButton addInfo=new JButton();JButton modifyInfo=new JButton();JButton deleteInfo=new JButton();JButton clearInfo=new JButton();JButton saveInfo=new JButton();JButton eixtInfo=new JButton();GridBagLayout girdBag=new GridBagLayout(); GridBagConstraints girdBagCon;public GradeInfo(){this.setSize(faceSize);this.setResizable(false);//设置标题this.setTitle("成绩综合信息管理");//设置程序图标GetImage getimage=new GetImage();this.setIconImage(getimage.getImage1("icon.gif"));try{Init();}catch(Exception e){e.printStackTrace();}}public void Init() throws Exception{contentPane=this.getContentPane();contentPane.setLayout(new BorderLayout());//中部面板的布局centerPanel.setLayout(girdBag);jLabel1.setText("学号:");jLabel1.setFont(new Font("Dialog",0,12));girdBagCon=new GridBagConstraints();girdBagCon.gridx=0;girdBagCon.gridy=0;girdBagCon.insets=new Insets(10,10,10,1);girdBag.setConstraints(jLabel1, girdBagCon);centerPanel.add(jLabel1);StuBean sN=new StuBean();stu=sN.getAllId();System.out.println(stu);sNum=new JComboBox(stu);girdBagCon=new GridBagConstraints();girdBagCon.gridx=1;girdBagCon.gridy=0;girdBagCon.fill=girdBagCon.BOTH;girdBagCon.insets=new Insets(10,1,10,15);sNum.setSelectedItem(null);girdBag.setConstraints(sNum, girdBagCon);centerPanel.add(sNum);jLabel2.setText("姓名:");jLabel2.setFont(new Font("Dialog",0,12));girdBagCon=new GridBagConstraints();girdBagCon.gridy=0;girdBagCon.insets=new Insets(10,15,10,1); girdBag.setConstraints(jLabel2, girdBagCon); centerPanel.add(jLabel2);girdBagCon=new GridBagConstraints(); girdBagCon.gridx=3;girdBagCon.gridy=0;girdBagCon.insets=new Insets(10,1,10,10); sName.setEnabled(false);girdBag.setConstraints(sName, girdBagCon); centerPanel.add(sName);jLabel3.setText("课程名称:");jLabel3.setFont(new Font("Dialog",0,12)); girdBagCon=new GridBagConstraints(); girdBagCon.gridx=0;girdBagCon.gridy=1;girdBagCon.insets=new Insets(10,10,10,1); girdBag.setConstraints(jLabel3, girdBagCon); centerPanel.add(jLabel3);cName=new JComboBox();girdBagCon=new GridBagConstraints(); girdBagCon.gridx=1;girdBagCon.gridy=1;girdBagCon.fill=girdBagCon.BOTH; girdBagCon.insets=new Insets(10,1,10,15); girdBag.setConstraints(cName, girdBagCon); centerPanel.add(cName);jLabel4.setText("课程编码:");jLabel4.setFont(new Font("Dialog",0,12)); girdBagCon=new GridBagConstraints();girdBagCon.gridy=1;girdBagCon.insets=new Insets(10,15,10,1); girdBag.setConstraints(jLabel4, girdBagCon); centerPanel.add(jLabel4);girdBagCon=new GridBagConstraints(); girdBagCon.gridx=3;girdBagCon.gridy=1;girdBagCon.insets=new Insets(10,1,10,10); cNum.setEditable(false);girdBag.setConstraints(cNum, girdBagCon); centerPanel.add(cNum);jLabel5.setText("授课老师:");jLabel5.setFont(new Font("Dialog",0,12)); girdBagCon=new GridBagConstraints(); girdBagCon.gridx=0;girdBagCon.gridy=2;girdBagCon.insets=new Insets(10,10,10,1); girdBag.setConstraints(jLabel5, girdBagCon); centerPanel.add(jLabel5);girdBagCon=new GridBagConstraints(); girdBagCon.gridx=1;girdBagCon.gridy=2;girdBagCon.insets=new Insets(10,1,10,15); cTeacher.setEnabled(false);girdBag.setConstraints(cTeacher, girdBagCon); centerPanel.add(cTeacher);jLabel6.setText("成绩:");jLabel6.setFont(new Font("Dialog",0,12)); girdBagCon=new GridBagConstraints(); girdBagCon.gridx=2;girdBagCon.insets=new Insets(10,15,10,1);girdBag.setConstraints(jLabel6, girdBagCon);centerPanel.add(jLabel6);girdBagCon=new GridBagConstraints();girdBagCon.gridx=3;girdBagCon.insets=new Insets(10,1,10,10);girdBag.setConstraints(Grade, girdBagCon);centerPanel.add(Grade);contentPane.add(centerPanel,BorderLayout.CENTER); }//下部面板的布局public void downInit(){searchInfo.setText("查询");searchInfo.setFont(new Font("Dialog",0,12));downPanel.add(searchInfo);addInfo.setText("增加");addInfo.setFont(new Font("Dialog",0,12));downPanel.add(addInfo);modifyInfo.setText("修改");modifyInfo.setFont(new Font("Dialog",0,12));downPanel.add(modifyInfo);deleteInfo.setText("删除");deleteInfo.setFont(new Font("Dialog",0,12));downPanel.add(deleteInfo);saveInfo.setText("保存");saveInfo.setFont(new Font("Dialog",0,12));downPanel.add(saveInfo);clearInfo.setText("清空");clearInfo.setFont(new Font("Dialog",0,12));downPanel.add(clearInfo);eixtInfo.setText("退出");eixtInfo.setFont(new Font("Dialog",0,12));downPanel.add(eixtInfo);contentPane.add(downPanel,BorderLayout.SOUTH);}}4.1.2添加成绩功能package 管理系统;import java.awt.*;import java.awt.event.*;import javax.swing.*;//成绩管理模块添加新的成绩信息public class AddGradeInfo extends GradeInfo implements ActionListener{public AddGradeInfo(){this.setTitle("添加成绩的信息");this.setResizable(false);//设置运行位置,使对话框居中Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45);}public void downInit(){addInfo.setText("增加");addInfo.setFont(new Font("Dialog",0,12));downPanel.add(addInfo);eixtInfo.setText("退出");eixtInfo.setFont(new Font("Dialog",0,12));downPanel.add(eixtInfo);this.contentPane.add(downPanel, BorderLayout.SOUTH);sNum.addActionListener(this);addInfo.addActionListener(this);eixtInfo.addActionListener(this);}//事件处理public void actionPerformed(ActionEvent e){Object obj=e.getSource();if(obj==addInfo){//增加cNum.setEnabled(false);cName.setEditable(false);cTeacher.setEditable(false);Grade.setEditable(false);sNum.setEditable(false);sName.setEditable(false);addInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);csBean addGrade=new csBean();addGrade.csModify(cNum.getText(),(String)sNum.getSelectedItem(), Grade.getText());this.dispose();AddGradeInfo agi=new AddGradeInfo();agi.downInit();agi.pack();agi.setVisible(true);}else if(obj==eixtInfo){//退出this.dispose();}else if(obj==sNum){//选择学号StuBean sN=new StuBean();sName.setText(sN.stuSearch((String)sNum.getSelectedItem())[0]);if(cName.getItemCount()>0){cName.removeAllItems();}csBean cN=new csBean();cReturn=ameSearch((String)sNum.getSelectedItem());if(cReturn==null){cName.removeActionListener(this);JOptionPane.showMessageDialog(null,"该学生没有选择课程!");addInfo.setEnabled(false);cName.setEnabled(false);}else{int i=0;for(i=0;i<(cReturn.length);i++){cName.addItem(cReturn[i]);}cName.setEnabled(true);sNum.setEnabled(false);cName.setSelectedItem(null);cName.addActionListener(this);}}else if(obj==cName){//选择课程号CrsBean cSname=new CrsBean();cNum.setText(cSname.crsNameSearch((String)cName.getSelectedItem(),(String)sNum.getSelectedIte m())[0]);cTeacher.setText(cSname.crsNameSearch((String)cName.getSelectedItem(),(String)sNum.getSelectedItem())[1]);addInfo.setEnabled(true);cName.setEnabled(false);cName.removeActionListener(this);}}}4.1.3修改成绩功能package 管理系统;import java.awt.*;import java.awt.event.*;import javax.swing.*;//成绩信息管理模块修改成绩信息的类public class EditGradeInfo extends GradeInfo implements ActionListener{ public EditGradeInfo(){this.setTitle("修改成绩信息");this.setResizable(false);//设置运行位置,使对话框居中Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45);}public void downInit(){modifyInfo.setText("修改");modifyInfo.setFont(new Font("Dialog",0,12));downPanel.add(modifyInfo);eixtInfo.setText("退出");eixtInfo.setFont(new Font("Dialog",0,12));downPanel.add(eixtInfo);this.contentPane.add(downPanel,BorderLayout.SOUTH);sNum.addActionListener(this);modifyInfo.addActionListener(this);clearInfo.addActionListener(this);eixtInfo.addActionListener(this);}//事件处理public void actionPerformed(ActionEvent e){Object obj=e.getSource();if(obj==modifyInfo){//修改cNum.setEnabled(false);cName.setEditable(false);cTeacher.setEditable(false);Grade.setEditable(false);sNum.setEditable(false);sName.setEditable(false);modifyInfo.setEnabled(false);clearInfo.setEnabled(false);eixtInfo.setEnabled(false);csBean addGrade=new csBean();addGrade.csModify(cNum.getText(),(String)sNum.getSelectedItem(),Grade.getText());this.dispose();EditGradeInfoegi=new EditGradeInfo();egi.downInit();egi.pack();egi.setVisible(true);}else if(obj==eixtInfo){//退出this.dispose();}else if(obj==sNum){//选择学号StuBean sN=new StuBean();sName.setText(sN.stuSearch((String)sNum.getSelectedItem())[0]);if(cName.getItemCount()>0){cName.removeAllItems();}csBean cN=new csBean();cReturn=ameSearch((String)sNum.getSelectedItem());if(cReturn==null){cName.removeActionListener(this);JOptionPane.showMessageDialog(null,"该学生没有选择课程");modifyInfo.setEnabled(false);cName.setEnabled(false);}else{int i=0;for(i=0;i<(cReturn.length);i++){cName.addItem(cReturn[i]);}cName.setEnabled(true);sNum.setEnabled(false);cName.setSelectedItem(null);cName.addActionListener(this);}}else if(obj==cName){//选择课程号CrsBean cSname=new CrsBean();cNum.setText(cSname.crsNameSearch((String)cName.getSelectedItem(),(String)sNum.getSelectedIte m())[0]);cTeacher.setText(cSname.crsNameSearch((String)cName.getSelectedItem(),(String)sNum.getSelected Item())[1]);Grade.setText("");Grade.setText(cSname.crsNameSearch((String)cName.getSelectedItem(),(String)sNum.getSelectedItem())[5]);modifyInfo.setEnabled(true);cName.setEnabled(false);}}}4.1.4保存成绩查询功能package 管理系统;import java.sql.*;import java.util.*;import javax.swing.*;//用来保存成绩查询方面的类public class csBean {String sql;ResultSet rs;Vector tempvector=new Vector(1,1);String cNum;String sNum;float grade;int colNum;//添加学生的选课信息public void csAdd(String cnum,String snum){Database DB=new Database();um=cnum;this.sNum=snum;sql="insert into sc(Cnum,Snum) values("+Integer.parseInt(cNum)+","+Integer.parseInt(sNum)+")";try{System.out.println(sql);DB.OpenConn();if(DB.executeUpdate(sql)==1){JOptionPane.showMessageDialog(null,"成功添加一条新记录!");}}catch(Exception e){JOptionPane.showMessageDialog(null,"保存失败","错误",JOptionPane.ERROR_MESSAGE);}finally{DB.closeStmt();DB.closeConn();}}//修改学生的选课成绩public void csModify(String cnum,String snum,String grade){Database DB=new Database();um=cnum;this.sNum=snum;try{this.grade=Float.parseFloat(grade);}catch(Exception e){JOptionPane.showMessageDialog(null,"成绩输入错误","错误",JOptionPane.ERROR_MESSAGE);return;}sql="update sc set grade="+grade+"where snum="+Integer.parseInt(sNum)+"and cnum="+Integer.parseInt(cNum)+"";try{DB.OpenConn();if(DB.executeUpdate(sql)==1)JOptionPane.showMessageDialog(null,"成功登记!");}}catch(Exception e){JOptionPane.showMessageDialog(null,"登记失败","错误",JOptionPane.ERROR_MESSAGE);}finally{DB.closeStmt();DB.closeConn();}}//根据学号搜索其所选的课程名称public String[] cNameSearch(String snum){Database DB=new Database();this.sNum=snum;sql="select * from sc,course where sc.snum="+Integer.parseInt(sNum)+"and um=um";String[] cn=null;int row=0;int i=0;try {DB.OpenConn();rs=DB.executeQuery(sql);if(st()){row=rs.getRow();}if(row==0){cn=null;}cn=new String[row];rs.first();rs.previous();while(rs.next()){cn[i]=rs.getString(5);i++;}}}catch (Exception e) {System.out.println(e);}finally{DB.closeStmt();DB.closeConn();}return cn;}//成绩信息综合查询public String[][] csAllSearch(String snum,int colnum){this.sNum=snum;this.colNum=colnum;Database DB=new Database();String[][] cn=null;int row=0;int i=0;sql="select * from sc,course,student where sc.snum="+Integer.parseInt(sNum)+" and um=um and sc.snum=student.snum";try {DB.OpenConn();rs=DB.executeQuery(sql);if(st()){row=rs.getRow();}if(row==0){cn=null;}else{cn=new String[row][colNum];rs.first();rs.previous();while(rs.next()){cn[i][0]=rs.getString(1);cn[i][1]=rs.getString(11);cn[i][2]=rs.getString(2);cn[i][3]=rs.getString(5);cn[i][4]=rs.getString(3);i++;}}}catch (Exception e) {System.out.println(e);}finally{DB.closeStmt();DB.closeConn();}return cn;}}总结该学生成绩管理系统总体说来功能比较齐全,学生和教师的一些基本的功能都已经具备;数据库的设计方面,建有学生信息表、课程信息表、选课信息表,数据库中存在一些问题,如数据冗余,不够完善。

相关文档
最新文档