《Java语言程序设计》专业实习任务书二
Java语言程序设计课程设计任务书及选题

《Java语言程序设计课程设计》任务书及题目一、J ava语言课程设计目的和要求1.课程目的1)总结、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握。
2)通过课程设计为学生提供了一个既动手又动脑,独立实践的机会,可以将课本上的理论知识和现实问题有机地结合起来,锻炼学生的分析、解决实际问题的能力。
3)培养学生在项目开发中团队合作精神、创新意识及综合能力。
2.课程要求1、对系统进行功能模块分析、模块分析要准确,符合课题要求,实现相应功能;可以另外加上其他功能或修饰,使程序更加美观、完善、合理。
2、系统设计要实用,编程要简练,功能要尽量全面,尽量具有实用功能。
3、要求采用面向对象程序设计方法,程序采用阶梯缩进书写格式,要求上机调试通过。
5、按要求撰写《Java语言程序设计课程设计》总结报告(模板另附),并及时上交。
二、Java语言课程设计课题课题一:学生成绩管理系统1.1 功能要求:1.1.1 创建数据库菜单1、用创建数据库菜单的创建库结构菜单项创建Access数据库的Student表单,其库结构为:学生编号(字符型10字符,其中年份(4字符)院系(2字符),编号(4字符))姓名(字符型15字符)出生日期(字符型10位,例如1999-02-15)数学(整型)英语(整型)2、用创建数据库菜单的录入记录菜单项录入5~6名学生的信息的Access数据库的Student表单中。
1.1.2 一般查询菜单1、用一般查询菜单的顺序查询菜单项执行对Student表单的顺序查询操作。
2、用一般查询菜单的条件查询菜单项执行对Student表单的条件查询操作。
1.1.3 高级查询菜单1、用高级程序菜单的排序查询菜单项执行对Student表单的排序查询操作。
2、用高级程序菜单的模糊查询菜单项执行对Student表单的模糊查询操作。
3、用高级程序菜单的随机查询菜单项执行对Student表单的随机查询操作。
1.1.4 记录操作菜单1、用记录操作菜单的修改记录菜单项执行对Student表单的修改记录操作。
《Java语言程序设计》课程设计计划任务书

辽源职业技术学院网络技术专业《Java语言程序设计》课程设计计划适用班级:网络103学制:三年入学文化:高中实习周数: 2 周信息工程系·专业教研室说明本设计任务计划书是依据计算机应用专业与网络技术专业高职三年制适用的《Java语言程序设计》课程设计大纲》与相应的专业教学计划中人才培养方案规定制定的。
也适合于其他专业开设了Java语言程序设计课程的班级使用,使用时可根据班级实际情况做适当修改。
一、设计性质、目的和任务1、设计性质本课程设计是学习Java语言程序设计课程以后,进行的程序设计综合实践。
属于对Java语言程序设计课程的提高部分。
2、设计目的实施本设计的其目的在于:通过以小组为单位,集体设计,分工合作的组织形式,对简单Java的程序,实现对Java 语言基本知识的进一步熟练、程序设计思路与分析方法的进一步训练、程序调试技巧的进一步娴熟,从而达到深化理解Java语言基本知识,强化Java语言程序设计的实战能力,及综合运用Java语言的能力。
为继续学习和程序设计、解决实际问题进行程序设计大好基础。
3、设计任务(1)、在熟练运用Java语言基本知识与上机调试技巧的基础上,学习实际应用程序的设计过程与设计方法。
(2)、在规定时间内对所承担的设计题目,进行有效的设计,要求得到一个功能满足设计要求、界面友好、使用方便、设计思想合理、程序简练符合结构化要求的程序。
(3)、在规定时间内提交完整合格的设计报告(设计说明书)。
二、设计内容与要求1、设计主要内容本设计的内容是,设计一个“类实用”小应用程序。
具体题目为:具体设计题目有如下四个:(1)图书管理信息系统;(2)简单的计算器;(3)万年历;(4)学生信息管理系统。
本课程设计需要具体完成主要内容有:(1)调研题目所涉及到的相关工作领域的实际工作流程及工作原则、规范、以及禁止事项与不免事项。
(2)理解题目中的内容及任务要求。
(3)进行需求分析,提出需求。
课程设计《JAVA程序设计》任务书.

课程设计《JAVA程序设计》任务书.《 JA V A 程序设计》课程设计任务书一.课程设计基本信息课程名称:《JAVA 程序设计》课程设计学时:1周学分:1学分二.课程设计目的与要求1.教学目的:本课程是学习《 Java 程序设计》后的综合实践课,使学生能够比较深入的理解Java 语言的特征及体系;熟练的掌握并会运用Java 语言与面向对象程序设计的思想和方法设计应用程序解决应用问题,积累程序设计的实践经验,为培养软件技术高技能人才奠定基础。
本课程是培养计划中综合性较强的实践教学环节之一, 帮助学生掌握教学内容、培养学生运用知识解决应用问题的实际动手能力、提高学生综合素质有很重要的意义。
2.教学要求:本课程设计以设计一个或多个实际应用系统为目的,通过课程设计让学生较全面的掌握 Java 语法基础知识、面向对象程序设计方法, 尤其是基于Java 的应用程序设计的方法与技术, 能够运用 J2SE 平台,结合相应的数据库系统开发应用程序,理论联系实际,达到培养实践操作技能的目的。
学生要了解 Java 程序开发的一般过程,特别掌握系统分析与设计的基本方法,写出系统分析与设计报告,并能设计真实可用的应用系统。
三.课程设计内容与安排根据老师提供的设计题目, 写出系统分析与设计报告, 并建立原型系统。
题目可以由教师与学生根据实际情况商定,可参考的题目:图书借阅管理系统、产品管理系统、学生成绩管理、学生信息管理、人事管理、人力资源管理系统、物流信息管理系统等。
1.主要设计内容如下:(1系统设计:包括系统需求分析、总体设计和功能设计,必要时使用图表说明。
(2数据库设计与实现:包括数据库的需求分析、数据库的概念结构设计和数据库的逻辑设计。
(3系统各模块设计:包括用户界面及相应功能算法等程序设计。
2.教学安排总课时 30课时,其中需求分析与系统设计、数据库设计与实现、系统各模块实现所以及系统集成调试运行用时间建议各占15%,15%,40%,20%的课时, 学生可根据具体情况调整, 利用 10%的时间完成课程设计报告。
java项目实训-任务书

Java实训任务书执行班级:计BZ131、132实习时间:2013-2014学年第2学期17-18周电信学院《java实训》任务书一、基本要求1.全体学生要严格遵守实验室的各项规章制度,严格遵守作息时间。
2.全体学生在进行本实习之前,对涉及的基础理论知识及技能做好充分准备。
3.全体学生要按照实习内容要求按时完成各项实习任务,掌握使用计算机相关知识与技能。
4.实习后,全体学生要认真总结,及时撰写实习报告,按时提交实习成果。
二、实习环境PC机、Windows操作系统。
三、实习内容1.使用JDK开发工具,掌握使用JDK开发基于C/S的应用程序的方法2.Java图形用户界面的设计方法的应用3.Java Applet的编写方法的应用、Java 在数据库的应用四、实习成果1.实习成果验收(1)按进度对学生所制作的基本实例进行检查记录,要求学生对最后的综合实例进行演示,并进行必要的说明;(2)指导教师针对学生的演示情况及效果图具体实现方法等情况提出若干问题,学生做出回答。
2.撰写实习报告(1)实习报告排版格式要求(封皮、正文、页眉、字体、字号、行间距、页面设置等)由指导教师统一给出。
(2)实习报告正文要求有:平面设计实训的目的和意义,实习环境,实习时间和地点,实习内容(包括实习任务、各个实例具体制作说明等),实习体会,意见和建议。
(3)学生上交实习报告。
3.评定实习成绩(1)根据平时考勤情况及实习过程中的表现给出平时成绩,满分40分。
(2)根据平时的基本实例和最后的综合实例制作情况给出实习成果成绩,满分50分。
(3)根据实习报告撰写情况给出实习报告成绩,满分10分。
(4)以上三项成绩汇总为实习总成绩。
(5)实习总成绩不到60分为不及格,在60分-69分之间为及格,在70分-79分之间为中等,在80分-89分之间为良好,在90分以上为优秀。
(6)在实习过程中有违纪行为的视情节轻重给予适当降等处理。
(7)因事、因病未能参加本次实习者,实习总成绩为不及格。
Java程序设计实习指导书

目录第一章JA VA语言实验机器与环境 .............................................................................................. - 1 -1.1计算机的硬件配置 (1)1.2计算机的软件配置 (1)1.3JDK1.5.0的安装和设置 (1)1.4配置环境变量 (4)1.5测试安装 (7)1.6使用E CLIPSE IDE编译与运行程序 (7)第二章JDK开发工具简介及JAVA程序开发步骤 ...................................................................... - 9 -2.1编辑运行J AVA程序 (9)2.2在E CLIPSE中运行JAVA程序 (12)第三章实验内容 .......................................................................................................................... - 14 -实验一熟悉J AVA的编程环境 (14)实验二面向对象编程(1) (18)实验三面向对象编程(2) (20)实验四多线程异常处理 (28)实验五SWT图形用户界面 (30)实验六J AVA 输入输出流 (32)实验七J AVA A PPLET小应用程序 (35)实验八网络编程基础 (39)实验九通过JDBC方式操作数据库 (40)附录 ................................................................................................................................................ - 43 -1SWT/JF ACE 简介 (43)2SWT/JF ACE 常用组件 (47)3容器类 (61)4布局管理器 (66)5SWT的事件处理 (83)6SWT D ESIGNER简介 (89)7本章小结 (96)第一章Java语言实验机器与环境1.1计算机的硬件配置PC系列微机,包括286、386、486、奔腾及各种兼容机,要求内存为64M以上,一个硬盘驱动器和一个软盘驱动器。
《Java语言程序设计》专业实习任务书二

《Java语言程序设计》专业实习任务(二)一、设计目的:本次设计是对教材第7章~第17章的总结。
涉及到的主要知识点有:GUI设计、事件处理、I/O处理和JDBC。
设计的目的在于掌握Java的基本原理、设计方法和使用规则;利用Java提供的事务处理机制,合理选择类和类提供的方法,进行应用程序的初步设计。
二、设计题目:学生信息存放在数据库Student.mdb中,信息包括:学号、姓名、性别、年龄、专业。
系统包括查询、添加、删除、更新和退出系统五个功能。
主界面运行如下:1.功能描述①单击“查询”按钮,可以查询数据库中的学生信息,并将学生信息显示在JPanel中。
运行界面如下:②单击“增加”按钮,可以为数据库表中添加一条学生信息。
运行界面如下:③单击“删除”按钮,可以删除数据库表中的学生信息。
运行界面如下:⑷单击“更新”按钮,可以更新数据库表中指定学号的学生信息。
运行界面如下:要求:学号必须是数字字符串,长度不能大于10;姓名长度不能大于10,专业长度不能大于25。
⑸单击“退出系统”按钮,从整个应用系统中退出。
2.题目要求①根据题目要求建立数据库。
②完成程序段⑴~⒃的编写,使其系统各功能模块能够正常运行。
③回答问题①~⑧。
3.提示信息①Statement createStatement(int resultSetType,int resultSetConcurrency)throws SQLExceptionresultSetType:结果集类型,它是ResultSet.TYPE_FORWARD_ONL Y、ResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一;resultSetConcurrency:并发类型;它是ResultSet.CONCUR_READ_ONL Y 或ResultSet.CONCUR_UPDATABLE 之一;②update 语句:update 表名set 字段名=值,字段名=值,……where 条件4.程序清单①StudentManager.javapackage sms;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Toolkit;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class StudentManager extends JFrame{private JLabel lbl1;private JButton selBtn,addBtn,delBtn,updBtn;private JButton exitBtn;private JPanel panel ;public StudentManager (){super("学生管理系统");// 定义出现的组件:由上而下,自左致右lbl1 = new JLabel("学生管理系统",JLabel.CENTER);lbl1.setFont(new Font("黑体",Font.BOLD,35));selBtn = new JButton("查询");addBtn = new JButton("添加");delBtn = new JButton("删除");updBtn = new JButton("更新");exitBtn=new JButton("退出系统");// 定义容器panel = new JPanel();//为容器设置布局,并将组件添加到容器中FlowLayout flow = new FlowLayout();panel.setLayout(flow);panel.add(selBtn);panel.add(addBtn);panel.add(delBtn);panel.add(updBtn);panel.add(exitBtn);//为按钮添加监听事件selBtn.addActionListener(new ButtonEvent());addBtn.addActionListener(new ButtonEvent());delBtn.addActionListener(new ButtonEvent());updBtn.addActionListener(new ButtonEvent());exitBtn.addActionListener(new ActionListener(){ //完成语句⑴:退出应用系统的功能});//为applet设置布局,并将组件添加到applet中GridLayout grid = new GridLayout(2,1);this.setLayout(grid);this.add(lbl1);this.add(panel);//设置applet的大小this.setSize(400,300);this.setVisible(true);//问题1:Toolkit的作用是什么?Toolkit tool = this.getToolkit();Dimension dim = tool.getScreenSize();this.setLocation(dim.width/3,dim.height/3);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();}public static void main(String[] args){new StudentManager();}}②DatabaseConnection.javapackage sms;//完成语句⑵:导入该类中操作数据库的相关类包public class DatabaseConnection {public static Connection getConnection(String dataSource , String user , String password){ Connection conn = null;try {String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";//完成语句⑶:加载数据库驱动} catch (ClassNotFoundException e) {e.printStackTrace();}try {//完成语句⑷:通过getConnection()方法的参数获取数据库连接赋给conn } catch (SQLException e) {e.printStackTrace();}return conn;}}③SelFrame.javapackage sms;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;//完成语句⑸:导入该类中操作数据库的相关类包import javax.swing.*;public class SelFrame extends JFrame implements ActionListener,FocusListener { private Connection conn = null;private Statement stmt = null;private ResultSet rs = null;private int recordCount=0;JLabel lbl1 = null;JLabel lbl2 = null;JTextField tf1 = null;JTextField tf2 = null;JButton selBtn= null;JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JPanel resultPanel = null;JScrollPane scroll = null;JPanel split = null;JPanel[] p3_1=null;JTextField[] tf3_1 = null;JTextField[] tf4_1 = null;JTextField[] tf5_1 = null;JTextField[] tf6_1 = null;JTextField[] tf7_1 = null;public static int test=1;public SelFrame(){super("学生信息查询");//定义组件:从上到下,从左到右lbl1 = new JLabel("姓名:",10);lbl2 = new JLabel("专业:",10);tf1 = new JTextField(20);tf2 = new JTextField(20);selBtn=new JButton("查询");selBtn.addActionListener(this);JLabel lbl3 = new JLabel("学号",JLabel.CENTER);JLabel lbl4 = new JLabel("姓名",JLabel.CENTER);JLabel lbl5 = new JLabel("年龄",JLabel.CENTER);JLabel lbl6 = new JLabel("性别",JLabel.CENTER);JLabel lbl7 = new JLabel("专业",JLabel.CENTER);p1 = new JPanel (new FlowLayout());p1.add(lbl1);p1.add(tf1);p1.add(lbl2);p1.add(tf2);p2 = new JPanel (new GridLayout(2,1));p2.add(p1);p1.add(selBtn);p3 = new JPanel (new GridLayout(1,5));p3.add(lbl3);p3.add(lbl4);p3.add(lbl5);p3.add(lbl6);p3.add(lbl7);BorderLayout border = new BorderLayout();this.setLayout(border);this.add(p2,BorderLayout.NORTH);//完成语句⑹:当点击窗口的关闭按钮时只销毁该窗口,并不退出应用系统setSize(750,600);setLocation(150,50);setVisible(true);validate();}public void actionPerformed(ActionEvent e) {conn = DatabaseConnection.getConnection("jdbc:odbc:StudentDsn", "", "");try {String txt1,txt2,condition = "";txt1=tf1.getText();txt2=tf2.getText();if (txt1!=null && !txt1.equals(""))condition = " where sname like '%"+txt1+"%' ";if (txt2!=null && !txt2.equals(""))if (condition.equals(""))condition = " where major like '%"+txt2+"%' ";elsecondition =condition + " and major like '%"+txt2+"%' ";String sql = "select * from stu " + condition;stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONL Y); //完成语句⑺:提交sql语句,并将返回的记录集放在rs中//完成语句⑻:获取记录集中的记录条数,放在整形变量recordCount中GridLayout gl=new GridLayout(recordCount,1);if (resultPanel!=null){resultPanel.removeAll();//问题2:该语句的功能是什么?else{resultPanel = new JPanel(gl);//问题3:该条语句什么时候执行?}//问题2:test变量的作用是什么?if(test==1){scroll = new JScrollPane(resultPanel);split = new JPanel(new BorderLayout());split.add(p3,BorderLayout.NORTH);split.add(scroll,BorderLayout.CENTER);this.add(split,BorderLayout.CENTER);test++;}p3_1 = new JPanel[recordCount];tf3_1 = new JTextField[recordCount];tf4_1 = new JTextField[recordCount];tf5_1 = new JTextField[recordCount];tf6_1 = new JTextField[recordCount];tf7_1 = new JTextField[recordCount];rs.beforeFirst();//问题4:该条语句可不可以用rs.first()代替?为什么?int i = 0;while(rs.next()){tf3_1[i] = new JTextField(rs.getString(1));tf4_1[i] = new JTextField(rs.getString(2));tf5_1[i] = new JTextField(rs.getString(3));tf6_1[i] = new JTextField((rs.getString(4).equals("M"))?"男":"女");tf7_1[i] = new JTextField(rs.getString(5));tf3_1[i].setHorizontalAlignment(JTextField.CENTER);tf4_1[i].setHorizontalAlignment(JTextField.CENTER);tf5_1[i].setHorizontalAlignment(JTextField.CENTER);tf6_1[i].setHorizontalAlignment(JTextField.CENTER);tf7_1[i].setHorizontalAlignment(JTextField.CENTER);tf3_1[i].setEditable(false);tf4_1[i].setEditable(false);tf5_1[i].setEditable(false);tf6_1[i].setEditable(false);tf7_1[i].setEditable(false);//完成语句⑼:为文本框们添加监听器p3_1[i] = new JPanel (new GridLayout(1,5));p3_1[i].add(tf3_1[i]);p3_1[i].add(tf4_1[i]);p3_1[i].add(tf5_1[i]);p3_1[i].add(tf6_1[i]);p3_1[i].add(tf7_1[i]);resultPanel.add(p3_1[i]);i++;resultPanel.repaint();//问题5:该条语句可不可以取消?为什么?this.validate();//问题6:该条语句可不可以取消?为什么?} catch (SQLException e1) {e1.printStackTrace();}finally{//完成语句⑽:关闭数据库操作时占用的各种资源}public void focusGained(FocusEvent e) {//完成语句⑾:当文本框获得焦点时,文本框为红色}public void focusLost(FocusEvent e) {//完成语句⑿:当文本框失去焦点时,文本框为白色}}④AddFrame.javapackage sms;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import javax.swing.Box;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;public class AddFrame extends JFrame implements ActionListener{private Connection conn;private Statement stmt;JLabel lbl1 = null;JLabel lbl2 = null;JLabel lbl3 = null;JLabel lbl4 = null;JLabel lbl5 = null;JTextField tf1 = null;JTextField tf2 = null;JTextField tf4 = null;JTextField tf5 = null;JRadioButton man = null;JRadioButton woman = null;ButtonGroup sex = null;JButton addBtn = null;JPanel p1 = null;Box baseBox,boxV1,boxV2,boxH1;public AddFrame(){super("添加学生信息");//定义组件:从上到下,从左到右lbl1 = new JLabel("学号:");lbl2 = new JLabel("姓名:");lbl3 = new JLabel("性别:");lbl4 = new JLabel("年龄:");lbl5 = new JLabel("专业:");tf1 = new JTextField(20);tf2 = new JTextField(20);tf4 = new JTextField(20);tf5 = new JTextField(20);man = new JRadioButton("男",true);woman = new JRadioButton("女");sex = new ButtonGroup();sex.add(man);sex.add(woman);addBtn=new JButton("添加");addBtn.addActionListener(this);boxV1 = Box.createVerticalBox();boxV1.add(lbl1);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl2);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl3);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl4);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl5);boxH1 = Box.createHorizontalBox();boxH1.add(man);boxH1.add(Box.createHorizontalStrut(10));boxH1.add(woman);boxV2 = Box.createVerticalBox();boxV2.add(tf1);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf2);boxV2.add(Box.createVerticalStrut(8));boxV2.add(boxH1);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf4);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf5);baseBox = Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10));baseBox.add(boxV2);p1 = new JPanel (new FlowLayout());p1.add(baseBox);p1.add(addBtn);this.add(p1);this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(300,250);Toolkit tool = this.getToolkit();Dimension dim = tool.getScreenSize();this.setLocation(dim.width/3+50,dim.height/3+50);setVisible(true);validate();}public void actionPerformed(ActionEvent e) {//完成语句⒀:获取数据库连接try {String txt1,txt2,txt3,txt4,txt5,sql;txt1=tf1.getText().trim();txt2=tf2.getText().trim();if(man.isSelected())txt3="M";else txt3="F";txt4=tf4.getText().trim();txt5=tf5.getText().trim();sql = "insert into stu(sno,sname,age,sex,major) values (";if (txt1.length()<=10 && Util.isNotEmpty(txt1) && Util.isDigits(txt1)){sql = sql + "'"+txt1+"','";if (txt2.length()<=10 && Util.isNotEmpty(txt2)){sql = sql + txt2+"',";if (txt4.length()<=2 && Util.isNotEmpty(txt4) && Util.isDigits(txt4)){sql = sql + Integer.parseInt(txt4)+",'";sql = sql + txt3+"','";if(txt5.length()<=25 && Util.isNotEmpty(txt5))sql = sql + txt5+"'";else{JOptionPane.showMessageDialog(this, "专业输入有误:0<长度<=25!");return ;}}else{//完成语句⒁:弹出消息对话框,内容是:年龄输入有误:0<长度<=2且是数字字符!return ;}}else {JOptionPane.showMessageDialog(this, "姓名输入有误:0<长度<=10!");return ;}}else {JOptionPane.showMessageDialog(this, "学号输入有误:0<长度<=10且是数字字符!");return ;}sql = sql + ")";int cnt = 0;//完成语句⒂:创建提交sql语句的对象,并将sql语句的执行结果赋给整型变量cnt。
java课程设计任务书
《Java程序设计》课程设计任务书《Java程序设计》课程设计任务书刘国清一、设计目的Java课程设计是计算机科学与技术专业学生必做的集中实践性环节之一,是学习完《Java程序设计》课程后进行的一次全面的综合练习。
其目的在于通过课程设计,使学生能够得到较系统的技能训练,从而巩固和加深对Java 编程的基础理论知识的理解,培养学生综合运用所学理论解决实际问题的能力,使学生成为具有扎实的计算机理论基础和较强的独立动手能力的复合型、应用型人才。
二、设计要求1、必须独立完成设计任务,严禁抄袭或找人代做等行为,一经发现成绩以不及格记。
2、课程设计期间要严格遵守学习纪律,遵守作息时间,不得迟到、早退和旷课,课程设计期间缺勤1/3及以上者,成绩以不及格记。
3、课程设计报告可以采用以下两种方式:①使用学院统一印制的《课程设计报告专用纸》,采用黑色墨水工整书写,自己的源程序打印在课程设计报告专用纸一样大小的打印纸上,并配上封面(格式附后)装订成册;②全部内容打印在A4打印纸上,并配上封面装订成册。
4、课程设计完毕应提交如下设计成果:课题名称_姓名1_姓名2_姓名3.rar(里面包含说明如何运行系统以及在本系统中自己做何工作的readme.txt+可以直接执行的jar文件(若为applet程序则无需打成jar包,内含系统全部源代码)+数据库文件或导出的sql文件+系统运行需要的其他文件,每个题目即每组交一个rar文件);文字描述不少于3500字(源代码不包含在内)的纸质课程设计报告(要求正文内容格式为宋体小四,1.5倍行距,小标题为黑体四号,课程设计报告交纸质文档,每个人一份课程设计报告,要求报告格式规范,结构完整,报告内容不能雷同,雷同者将发回重写)。
5、题目来自《Java课程设计案例精编(第二版)》的,必须在原来基础上增加1-2个功能(由自己决定)。
三、课程设计报告格式课程设计报告分以下几部分:1、封面2、目录3、系统描述:介绍所开发系统的功能和解决的问题;4、分析与设计:主要包括以下内容:功能模块划分;数据库结构描述(题目设计数据库的需要);系统详细设计文档(类的划分及相互关系,系统或模块的流程图)各个模块的实现方法描述(关键代码);测试数据及期望结果;5、系统测试:系统关键功能的运行截图,凡课题与数据库相关的表中记录不得少于5条。
Java语言程序设计实践报告模板
Java语言程序设计(一)实践课程让我收获颇丰,在实践中我不仅学习了Java语言的基础知识和常用算法,也锻炼了我的编程能力和解决问题的能力,对于以后的学习和工作都有很大的帮助。
1.Java语言基础:通过实践,我深入了解了Java程序的结构、基本语法、数据类型、运算符、控制语句等基础知识,对Java语言的掌握更加熟练。
2.常用算法:在实习过程中,我通过解决各种常用算法的问题,学习了数组、字符串、循环、分支、递归、排序等常用算法的实现方法,并且掌握了它的Java程序,并且程序存在错误,学生需要找出错误并且进行修正。
2.填空题:在一个已经编写好的程序中,学生需要填入缺失的代码,使程序能够正确运行。
3.设计题:根据给出的问题,学生需要设计并编写符合题目要求的程序。
实习收获
通过本次实习,我收获了许多关于Java语言程序设计的知识和技能。
专业:必填
层次:
必填
姓名:必填
考籍号:
必填
实习课程:Java语言程序设计
指导老师:
暂时不填
实习目的及要求
Java语言程序设计(一)实践课程是一门面向初学者的课程,旨在帮助学生掌握Java编程语言的基本语法和常用算法,提高学生的程序设计能力。本实习的目的是让学生通过实际的编程实践,进一步熟悉Java语言的语法和常用算法,掌握程序设计的基本方法和技巧,提高解决实际问题的能力。
除此之外,本次实习也让我了解了团队合作的重要性。在实践中,我和同学们共同解决问题,相互学习、交流,从中受益匪浅。通过团队合作,我认识到只有相互协作、相互支持,才能够取得更好的成果。
《Java程序设计》课程实验指导书2
《Java程序设计》课程实验指导书2《Java程序设计》课程实验指导书合肥学院计算机系实验⼀ Java开发环境的安装与配置,熟悉Java程序结构⼀、实验⽬的:1. 掌握JDK的安装步骤。
2. 理解环境变量PATH, CLASSPATH的作⽤,以及它们的设置⽅法。
3. 熟悉Editplus(或TextPad,JCreator)编辑环境,编写简单的Application程序和Applet程序,并编译和执⾏。
⼆、实验内容:熟悉JDK的安装和配置,学习如何编写并运⾏简单的Application程序和Applet程序(能输出⼀条简单的问候信息);三、实验要求:1. 能正确地安装JDK2. 熟悉环境变量PATH, CLASSPATH设置⽅法,熟悉编辑环境3. 调试程序、编译,运⾏后得到正确的结果4. 写出实验报告,要求记录编译和执⾏Java程序当中的系统错误信息提⽰,并给出解决办法。
四、实验步骤:1.从/doc/9ac8d1619b6648d7c1c74618.html 上下载最新版本的JDK,并安装。
2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执⾏。
3.在Editplus(或JCreator ,Textpad)环境下编写⼀个HelloWorld.jav a程序,(1)在主⽅法static public void main(String[ ] args)中调⽤System.out.println()⽅法,使程序输出⼀条问候信息;(2) 编译运⾏程序,观察运⾏情况和输出结果。
(使⽤JDK环境,调⽤javac.exe和java.exe编译和执⾏程序)4.在Editplus(或JCreator ,Textpad)环境下编写⼀个HelloWorldApplet.java程序。
(1)在public void paint(Graphics g)⽅法中调⽤g.drawString()⽅法,使程序输出⼀条问候信息;(2) 编译运⾏程序,观察运⾏情况和输出结果。
Java语言程序设计实训课程设计任务书
《Java语言程序设计实训》课程设计任务书一、课程设计的目的《Java语言程序设计实训》课程设计是计算机科学与技术专业及相关专业的集中实践性环节之一,是学习完《Java语言程序设计》后进行的一次全面的综合练习,其目的在于加深对面向过程程序设计的理解,提高解决实际问题的能力,为后续课程、毕业设计以及今后从事设计工作打下良好的基础。
二、课程设计内容及要求用JA V A语言环境制作一个学生管理系统。
包括添加、删除、查询等功能。
要求学生根据题目的基本要求,设计结构良好的界面并完成课程设计说明书。
1.课程设计任务设计一个学生信息管理系统,主要功能包括学生信息的输入、显示、删除、查询、统计等。
具体要求如下:(1)学生信息的格式:学号6位字符姓名8位字符计算机实数高等数学实数英语实数(2)学生信息文件student.txt的格式:每行一位学生,学生的3项数据之间用一个制表符分隔,例如:100001 zhang 88.0 75.0 93.0100002 wang 76.0 85.0 58.0(3)主菜单:学生信息管理系统主菜单== == == == == == == == == == == == == == == == ==1:添加学生记录2:显示学生记录3:删除学生记录4:查询学生记录5:统计学生记录0:退出系统请选择其中各选项的功能:添加学生记录:输入并保存学生信息显示学生记录:出现“显示学生信息子菜单”,供操作者选择删除学生记录:显示现有的学生信息,让操作者输入要删除学生的学号,将其删除后再次显示其余的学生信息查询学生记录:出现“查询学生信息子菜单”,供操作者选择统计学生记录:统计并显示优、良、中、及格、不及格的人数与比例,以及总人数、及格率、最高分、最低分、平均分。
(4)显示学生信息子菜单:显示学生信息子菜单== == == == == == == == == == == == == == == == ==1:按学号序显示2:按姓名序显示3:按成绩序显示0:退出显示请选择:其中各选项的功能:按学号序显示:按学号字典序显示所有学生信息按姓名序显示:按姓名字典序显示所有学生信息按成绩序显示:按成绩高分到低分显示所有学生信息(5)查询学生信息子菜单:查询学生信息子菜单== == == == == == == == == == == == == == == == ==1:按学号序显示2:按姓名序显示3:按成绩序显示0:退出显示请按姓名序显示选择:其中各选项的功能:按学号查询:按键盘输入的学号查找并显示学生信息按姓名查询:按键盘输入的姓名查找并显示学生信息按成绩查询:按键盘输入的分数范围查找并显示学生信息2.基本要求(1)完成问题陈述中提到的所有需求功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Java语言程序设计》专业实习任务(二)一、设计目的:本次设计是对教材第7章~第17章的总结。
涉及到的主要知识点有:GUI设计、事件处理、I/O处理和JDBC。
设计的目的在于掌握Java的基本原理、设计方法和使用规则;利用Java提供的事务处理机制,合理选择类和类提供的方法,进行应用程序的初步设计。
二、设计题目:学生信息存放在数据库Student.mdb中,信息包括:学号、姓名、性别、年龄、专业。
系统包括查询、添加、删除、更新和退出系统五个功能。
主界面运行如下:1.功能描述①单击“查询”按钮,可以查询数据库中的学生信息,并将学生信息显示在JPanel中。
运行界面如下:②单击“增加”按钮,可以为数据库表中添加一条学生信息。
运行界面如下:③单击“删除”按钮,可以删除数据库表中的学生信息。
运行界面如下:⑷单击“更新”按钮,可以更新数据库表中指定学号的学生信息。
运行界面如下:要求:学号必须是数字字符串,长度不能大于10;姓名长度不能大于10,专业长度不能大于25。
⑸单击“退出系统”按钮,从整个应用系统中退出。
2.题目要求①根据题目要求建立数据库。
②完成程序段⑴~⒃的编写,使其系统各功能模块能够正常运行。
③回答问题①~⑧。
3.提示信息①Statement createStatement(int resultSetType,int resultSetConcurrency)throws SQLExceptionresultSetType:结果集类型,它是ResultSet.TYPE_FORWARD_ONL Y、ResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一;resultSetConcurrency:并发类型;它是ResultSet.CONCUR_READ_ONL Y 或ResultSet.CONCUR_UPDATABLE 之一;②update 语句:update 表名set 字段名=值,字段名=值,……where 条件4.程序清单①StudentManager.javapackage sms;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.Toolkit;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class StudentManager extends JFrame{private JLabel lbl1;private JButton selBtn,addBtn,delBtn,updBtn;private JButton exitBtn;private JPanel panel ;public StudentManager (){super("学生管理系统");// 定义出现的组件:由上而下,自左致右lbl1 = new JLabel("学生管理系统",JLabel.CENTER);lbl1.setFont(new Font("黑体",Font.BOLD,35));selBtn = new JButton("查询");addBtn = new JButton("添加");delBtn = new JButton("删除");updBtn = new JButton("更新");exitBtn=new JButton("退出系统");// 定义容器panel = new JPanel();//为容器设置布局,并将组件添加到容器中FlowLayout flow = new FlowLayout();panel.setLayout(flow);panel.add(selBtn);panel.add(addBtn);panel.add(delBtn);panel.add(updBtn);panel.add(exitBtn);//为按钮添加监听事件selBtn.addActionListener(new ButtonEvent());addBtn.addActionListener(new ButtonEvent());delBtn.addActionListener(new ButtonEvent());updBtn.addActionListener(new ButtonEvent());exitBtn.addActionListener(new ActionListener(){ //完成语句⑴:退出应用系统的功能});//为applet设置布局,并将组件添加到applet中GridLayout grid = new GridLayout(2,1);this.setLayout(grid);this.add(lbl1);this.add(panel);//设置applet的大小this.setSize(400,300);this.setVisible(true);//问题1:Toolkit的作用是什么?Toolkit tool = this.getToolkit();Dimension dim = tool.getScreenSize();this.setLocation(dim.width/3,dim.height/3);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();}public static void main(String[] args){new StudentManager();}}②DatabaseConnection.javapackage sms;//完成语句⑵:导入该类中操作数据库的相关类包public class DatabaseConnection {public static Connection getConnection(String dataSource , String user , String password){ Connection conn = null;try {String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";//完成语句⑶:加载数据库驱动} catch (ClassNotFoundException e) {e.printStackTrace();}try {//完成语句⑷:通过getConnection()方法的参数获取数据库连接赋给conn } catch (SQLException e) {e.printStackTrace();}return conn;}}③SelFrame.javapackage sms;import java.awt.BorderLayout;import java.awt.Color;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;//完成语句⑸:导入该类中操作数据库的相关类包import javax.swing.*;public class SelFrame extends JFrame implements ActionListener,FocusListener { private Connection conn = null;private Statement stmt = null;private ResultSet rs = null;private int recordCount=0;JLabel lbl1 = null;JLabel lbl2 = null;JTextField tf1 = null;JTextField tf2 = null;JButton selBtn= null;JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JPanel resultPanel = null;JScrollPane scroll = null;JPanel split = null;JPanel[] p3_1=null;JTextField[] tf3_1 = null;JTextField[] tf4_1 = null;JTextField[] tf5_1 = null;JTextField[] tf6_1 = null;JTextField[] tf7_1 = null;public static int test=1;public SelFrame(){super("学生信息查询");//定义组件:从上到下,从左到右lbl1 = new JLabel("姓名:",10);lbl2 = new JLabel("专业:",10);tf1 = new JTextField(20);tf2 = new JTextField(20);selBtn=new JButton("查询");selBtn.addActionListener(this);JLabel lbl3 = new JLabel("学号",JLabel.CENTER);JLabel lbl4 = new JLabel("姓名",JLabel.CENTER);JLabel lbl5 = new JLabel("年龄",JLabel.CENTER);JLabel lbl6 = new JLabel("性别",JLabel.CENTER);JLabel lbl7 = new JLabel("专业",JLabel.CENTER);p1 = new JPanel (new FlowLayout());p1.add(lbl1);p1.add(tf1);p1.add(lbl2);p1.add(tf2);p2 = new JPanel (new GridLayout(2,1));p2.add(p1);p1.add(selBtn);p3 = new JPanel (new GridLayout(1,5));p3.add(lbl3);p3.add(lbl4);p3.add(lbl5);p3.add(lbl6);p3.add(lbl7);BorderLayout border = new BorderLayout();this.setLayout(border);this.add(p2,BorderLayout.NORTH);//完成语句⑹:当点击窗口的关闭按钮时只销毁该窗口,并不退出应用系统setSize(750,600);setLocation(150,50);setVisible(true);validate();}public void actionPerformed(ActionEvent e) {conn = DatabaseConnection.getConnection("jdbc:odbc:StudentDsn", "", "");try {String txt1,txt2,condition = "";txt1=tf1.getText();txt2=tf2.getText();if (txt1!=null && !txt1.equals(""))condition = " where sname like '%"+txt1+"%' ";if (txt2!=null && !txt2.equals(""))if (condition.equals(""))condition = " where major like '%"+txt2+"%' ";elsecondition =condition + " and major like '%"+txt2+"%' ";String sql = "select * from stu " + condition;stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONL Y); //完成语句⑺:提交sql语句,并将返回的记录集放在rs中//完成语句⑻:获取记录集中的记录条数,放在整形变量recordCount中GridLayout gl=new GridLayout(recordCount,1);if (resultPanel!=null){resultPanel.removeAll();//问题2:该语句的功能是什么?else{resultPanel = new JPanel(gl);//问题3:该条语句什么时候执行?}//问题2:test变量的作用是什么?if(test==1){scroll = new JScrollPane(resultPanel);split = new JPanel(new BorderLayout());split.add(p3,BorderLayout.NORTH);split.add(scroll,BorderLayout.CENTER);this.add(split,BorderLayout.CENTER);test++;}p3_1 = new JPanel[recordCount];tf3_1 = new JTextField[recordCount];tf4_1 = new JTextField[recordCount];tf5_1 = new JTextField[recordCount];tf6_1 = new JTextField[recordCount];tf7_1 = new JTextField[recordCount];rs.beforeFirst();//问题4:该条语句可不可以用rs.first()代替?为什么?int i = 0;while(rs.next()){tf3_1[i] = new JTextField(rs.getString(1));tf4_1[i] = new JTextField(rs.getString(2));tf5_1[i] = new JTextField(rs.getString(3));tf6_1[i] = new JTextField((rs.getString(4).equals("M"))?"男":"女");tf7_1[i] = new JTextField(rs.getString(5));tf3_1[i].setHorizontalAlignment(JTextField.CENTER);tf4_1[i].setHorizontalAlignment(JTextField.CENTER);tf5_1[i].setHorizontalAlignment(JTextField.CENTER);tf6_1[i].setHorizontalAlignment(JTextField.CENTER);tf7_1[i].setHorizontalAlignment(JTextField.CENTER);tf3_1[i].setEditable(false);tf4_1[i].setEditable(false);tf5_1[i].setEditable(false);tf6_1[i].setEditable(false);tf7_1[i].setEditable(false);//完成语句⑼:为文本框们添加监听器p3_1[i] = new JPanel (new GridLayout(1,5));p3_1[i].add(tf3_1[i]);p3_1[i].add(tf4_1[i]);p3_1[i].add(tf5_1[i]);p3_1[i].add(tf6_1[i]);p3_1[i].add(tf7_1[i]);resultPanel.add(p3_1[i]);i++;resultPanel.repaint();//问题5:该条语句可不可以取消?为什么?this.validate();//问题6:该条语句可不可以取消?为什么?} catch (SQLException e1) {e1.printStackTrace();}finally{//完成语句⑽:关闭数据库操作时占用的各种资源}public void focusGained(FocusEvent e) {//完成语句⑾:当文本框获得焦点时,文本框为红色}public void focusLost(FocusEvent e) {//完成语句⑿:当文本框失去焦点时,文本框为白色}}④AddFrame.javapackage sms;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import javax.swing.Box;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;public class AddFrame extends JFrame implements ActionListener{private Connection conn;private Statement stmt;JLabel lbl1 = null;JLabel lbl2 = null;JLabel lbl3 = null;JLabel lbl4 = null;JLabel lbl5 = null;JTextField tf1 = null;JTextField tf2 = null;JTextField tf4 = null;JTextField tf5 = null;JRadioButton man = null;JRadioButton woman = null;ButtonGroup sex = null;JButton addBtn = null;JPanel p1 = null;Box baseBox,boxV1,boxV2,boxH1;public AddFrame(){super("添加学生信息");//定义组件:从上到下,从左到右lbl1 = new JLabel("学号:");lbl2 = new JLabel("姓名:");lbl3 = new JLabel("性别:");lbl4 = new JLabel("年龄:");lbl5 = new JLabel("专业:");tf1 = new JTextField(20);tf2 = new JTextField(20);tf4 = new JTextField(20);tf5 = new JTextField(20);man = new JRadioButton("男",true);woman = new JRadioButton("女");sex = new ButtonGroup();sex.add(man);sex.add(woman);addBtn=new JButton("添加");addBtn.addActionListener(this);boxV1 = Box.createVerticalBox();boxV1.add(lbl1);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl2);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl3);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl4);boxV1.add(Box.createVerticalStrut(8));boxV1.add(lbl5);boxH1 = Box.createHorizontalBox();boxH1.add(man);boxH1.add(Box.createHorizontalStrut(10));boxH1.add(woman);boxV2 = Box.createVerticalBox();boxV2.add(tf1);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf2);boxV2.add(Box.createVerticalStrut(8));boxV2.add(boxH1);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf4);boxV2.add(Box.createVerticalStrut(8));boxV2.add(tf5);baseBox = Box.createHorizontalBox();baseBox.add(boxV1);baseBox.add(Box.createHorizontalStrut(10));baseBox.add(boxV2);p1 = new JPanel (new FlowLayout());p1.add(baseBox);p1.add(addBtn);this.add(p1);this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(300,250);Toolkit tool = this.getToolkit();Dimension dim = tool.getScreenSize();this.setLocation(dim.width/3+50,dim.height/3+50);setVisible(true);validate();}public void actionPerformed(ActionEvent e) {//完成语句⒀:获取数据库连接try {String txt1,txt2,txt3,txt4,txt5,sql;txt1=tf1.getText().trim();txt2=tf2.getText().trim();if(man.isSelected())txt3="M";else txt3="F";txt4=tf4.getText().trim();txt5=tf5.getText().trim();sql = "insert into stu(sno,sname,age,sex,major) values (";if (txt1.length()<=10 && Util.isNotEmpty(txt1) && Util.isDigits(txt1)){sql = sql + "'"+txt1+"','";if (txt2.length()<=10 && Util.isNotEmpty(txt2)){sql = sql + txt2+"',";if (txt4.length()<=2 && Util.isNotEmpty(txt4) && Util.isDigits(txt4)){sql = sql + Integer.parseInt(txt4)+",'";sql = sql + txt3+"','";if(txt5.length()<=25 && Util.isNotEmpty(txt5))sql = sql + txt5+"'";else{JOptionPane.showMessageDialog(this, "专业输入有误:0<长度<=25!");return ;}}else{//完成语句⒁:弹出消息对话框,内容是:年龄输入有误:0<长度<=2且是数字字符!return ;}}else {JOptionPane.showMessageDialog(this, "姓名输入有误:0<长度<=10!");return ;}}else {JOptionPane.showMessageDialog(this, "学号输入有误:0<长度<=10且是数字字符!");return ;}sql = sql + ")";int cnt = 0;//完成语句⒂:创建提交sql语句的对象,并将sql语句的执行结果赋给整型变量cnt。