Java项目设计报告
- 格式:doc
- 大小:249.50 KB
- 文档页数:27
北京信息科技大学信息管理学院实验报告课程名称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程序。
实验内容:本次实验主要包括以下内容: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程序设计》课程设计报告题目: 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实训报告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程设计之后,设计人员要进行测试,确保程序能够完成预期任务。
这里可以使用基于 Junit(Java元测试框架)的测试框架,测试各个类的接口和输出内容,以确保程序功能正常,做到稳定可靠。
总的来说,要完成 Java程设计,不仅要有良好的 Java言和编程工具的基础知识,还要了解 Java发的环境,还要具备一定的网络知识,最后要仔细的进行测试,确保设计出来的程序稳定可靠,才能完成 Java程设计。
总之,很明显,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语言来完成一个简单的面向对象程序设计。
实验内容:
本次实验的任务是开发一个个人信息管理系统,可以完成一些基本的信息管理功能,如增加、删除、查询和修改个人信息等。
实验步骤:
1. 定义Person类并实现其属性和方法。
2. 在主类中实现简单的用户交互界面。
3. 实现文件持久化,将程序中的信息储存在文件中。
4. 实现增加、删除、查询和修改个人信息的功能。
实验结论:
通过本次实验,我学会了如何使用Java语言来实现一个简单的面向对象程序设计。
在开发过程中,我学会了如何定义类、实现属性和方法,如何进行用户交互界面的设计,以及如何将程序中的信息储存在文件中。
《JAVA面向对象程序设计》课程设计报告(2011-2012学年第2学期)系别:厦门理工学院计算机科学与技术系专业名称:10级网络工程1班课程设计科目:《JAVA面向对象程序设计》课程设计学生姓名:学号:指导教师:***成绩:完成时间:2012年7月6日题目JAVA程序课程设计任务一手机号码检测器(一)设计任务与目标任务:手机号码是由11位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。
要求目标:检测所输入的手机号码是否是11位检测每一位是否都为数字。
分析论证:本题目要求对用户输入的手机号码进行检测,判断输入的正确性。
曾经有做过类似字符比较的题目,可以借鉴。
将字符的比较运用进来,把用户的输入字符和正确的进行比较。
但是必须满足多次输入和错误提醒。
同时还可以添加提示错误的位置和错误字符是什么。
程序正确运行时可以满足以上功能,基本可以达到题目要求了。
(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了do_whiele()循环。
每次输入结束后提示是否继续输入。
在循环中逐步对输入的号码位数和字符类型进行检测。
位数可以分超出和不足,并均给出错误提示。
如果位数满足要求后对手机号码类型进行检测。
一般手机号在0~9之间,所以不满足的字符将报错。
通过将输入的整个字符串调用charAt(int i)方法对字符串逐位比较。
本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。
在程序的调试过程中,有过多次输入正确的号码也会报错(还会报错0位错误),这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为0。
最终解决了此问题。
(三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。
最终结果如下图:实验结果截图:(五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。
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项目报告——学生信息管理系统作者姓名: `````所在系部:`````专业: ````````指导教师: ``````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;}}总结该学生成绩管理系统总体说来功能比较齐全,学生和教师的一些基本的功能都已经具备;数据库的设计方面,建有学生信息表、课程信息表、选课信息表,数据库中存在一些问题,如数据冗余,不够完善。