java学生管理系统实训报告
- 格式:doc
- 大小:56.56 KB
- 文档页数:9
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
java实训总结及心得(7篇)我们在学校机房进行了为期三周的JAVA实训。
现在即将结束了,回首本学期的java学习,重点还是在学习概念等一些常识性的东西,Application应用程序和Applet小程序,它的开发工具,数据类型,变量,接口,输入输出流,学会分析异常,抛出异常,后期主要是小程序运用,Gui界面设计和事件。
我觉得这两种程序结构有很大的不同,不管是体系结构还是运行方式,都有很大的区别,我主要偏向于小程序的学习,呵呵,因为感觉它用处比较大,可以做出好多好多好玩的游戏,运用程序等,且它灵活。
呵呵,当然学知识可不能凭自己的爱好和一时兴趣,要一步一个脚印,认认真真,踏踏实实,理论与实践相结合,在扎实掌握课本实例和内容之后,有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
这次实训,我们更多学到的是不懂就问和自己应该尽自己的全力去尝试,哪怕失败,只要自己尽自己的全力,和身边同学一起探讨而不是抄袭,团结合作,发挥团队意识,最后在自己的努力下,终于运行成功,这种成就感美不可言,心情愉悦至极。
java实训总结及心得篇2 五个月在刚来的时候,觉得过得好慢,可转眼到了毕业又觉得时间过得好快,时间恐怕才是最会捉弄人的。
java培训结束即将走入工作岗位,我想先讲一个故事来切入正题。
有两拨人进行篮球比赛,可是一拨人有四个人,而另一拨只有3个,人数不均,显然人数居多的占优势。
比赛是不公平的,比赛快要停止的时候,拥有四人的队伍突然要求三人的队伍稍等5分钟。
正在三人队疑惑的时候,震惊的一幕开始了,另外四人走到篮板前,轮流开始投篮,每人十次,投的最少的被淘汰了,余下的三人回到比赛。
比赛的结果是什么我不知道,但我知道原来的三人组无论胜败,在他们取得成功的路上绝对比预期要困难的多。
与中国的仁义之道相比,物竞天择恐怕是社会乃至世界的本职,从细微处看不到的东西,我们就从宏观角度出发,又会发现什么呢中国五千年历史可以发现有用的东西,实在很少,原因是它是一个反对竞争的。
java实训报告(精选5篇)java实训报告1作为就业培训,项目的好坏对培训质量的影响十分大,常常是决定性的作用。
这篇__是关于在学习java软件开发时练习项目的总结,简单总结为以下几点:1、项目一定要全新的项目,不能是以前做过的2、项目一定要企业真实项目,不能是精简以后的,不能脱离实际应用系统3、在开发时要和企业的开发保持一致4、在做项目的时候不应该有参考代码长话短说就是以上几点,如果你想要更多的了解,可以继续往后看。
一:项目的地位因为参加就业培训的学员很多都是有一定的计算机基础,大部分都具备一定的编程基础,尤其是在校或者是刚毕业的学生,多少都有一些基础。
他们欠缺的主要是两点:(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。
(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。
解决的方法就是通过项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足,尽快达到企业的实际要求。
二:如何选择项目项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢?根据java的研究和实践经验总结,选择项目的时候要注意以下方面:1:项目不能太大,也不能太小这个要根据项目练习的阶段,练习的时间,练习的目标来判断。
不能太大,太大了做不完,也不能太小,太小了没有意义,达不到练习的目的。
2:项目不能脱离实际应用系统项目应该是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。
因为培训的时间有限,必须让学员尽快地融入到实际项目的开发当中去。
任何人接受和掌握一个东西都需要时间去适应,需要重复几次才能够真正掌握,所以每个项目都必须跟实际应用挂钩。
3:项目应能覆盖所学的主要知识点学以致用,学完的知识点需要到应用中使用,才能够真正理解和掌握,再说了,软件开发是一个动手能力要求很高的行业,什么算会了,那就是能够做出来,写出代码来,把问题解决了,你就算会了。
java实训报告Java实训报告一、实训目的和背景本次Java实训的目的是为了提升学生的编程能力和解决问题的能力。
通过实践项目,学生在实践中掌握Java编程语言的基本语法和常用的类库,了解软件开发的基本流程,并能够熟练运用所学知识解决实际问题。
二、实训内容本次实训的主题为学生成绩管理系统。
学生成绩管理系统是一个管理学生信息和成绩的软件,能够实现学生信息的增删改查,成绩的录入和查询等功能。
具体实训内容包括:1. 学生信息的录入和查询2. 学生成绩的录入和查询3. 成绩统计和排名功能4. 学生信息的修改和删除功能三、实训步骤和流程实训步骤和流程如下:1. 确定需求:根据实训要求和实际情况,确定学生成绩管理系统的功能需求和界面设计。
2. 熟悉Java语言:学习Java编程语言的基本语法和常用的类库。
3. 设计数据库:设计学生信息和成绩的数据库结构,确定表的字段和关系。
4. 编写代码:根据需求和设计,编写Java代码实现学生成绩管理系统的功能。
5. 调试和优化:测试代码的正确性和性能,并对代码进行优化。
6. 编写实训报告:总结实训过程,包括需求分析、设计思路、实现过程和遇到的问题及解决方法等。
四、实训成果和收获通过本次实训,学生能够熟练掌握Java编程语言的基本语法和常用的类库,了解软件开发的基本流程,并能够独立完成一个简单的Java项目。
同时,学生还能够提升自己的问题解决能力和团队协作能力,培养了解决实际问题的能力。
五、实训反馈和建议通过本次实训,学生普遍反映受益匪浅,对Java编程有了更深入的了解。
然而,也有一些学生反映实训内容较为简单,希望能够增加一些挑战性的项目,以更好地提升自己的编程水平。
建议增加对数据库的操作和前端开发的内容,使实训更贴近实际工作需求。
六、总结通过本次Java实训,我深入学习了Java编程语言的基本语法和常用的类库,通过实践项目,我加深了对软件开发流程的理解,提升了编程能力和解决问题的能力。
java实训报告在本篇报告中,我将对我参加的Java实训进行详细的总结和分析。
实训项目旨在提升学员在Java开发方面的技能,培养实际应用能力,并为日后的职业发展打下坚实的基础。
一、项目背景与目标Java实训项目旨在通过实际项目经验来加深学员对Java编程语言的理解和应用。
项目的目标是通过参与并完成一个具体的Java开发案例,让学员掌握基本的开发流程、规范和工具,提升他们的解决问题的能力。
二、项目内容与方法1. 项目内容本次实训项目的内容为开发一个基于Java的学生信息管理系统。
该系统需要实现以下功能:- 添加、删除、修改学生信息;- 查询学生信息并进行排序;- 统计学生的人数和平均成绩。
2. 开发方法为了有效地完成项目,我们采取了以下步骤:(1)需求分析:与项目组成员一起分析项目需求,明确系统功能和用户交互。
(2)系统设计:根据需求分析的结果,设计系统的各个模块以及它们之间的关系。
(3)编码实现:使用Java语言进行编码实现,并按照项目规范完成代码编写。
(4)测试与调试:对系统进行全面的测试,修复潜在的问题并确保系统的稳定性和可靠性。
三、实训成果与反思通过本次实训,我取得了以下几点成果:1. 掌握了Java语言的基本语法和面向对象编程思想。
2. 学习了常用的Java开发工具和框架,如Eclipse、Spring、Hibernate等,并成功运用于实训项目中。
3. 提升了解决问题的能力,学会了通过查阅文档和网络资源来解决遇到的困难。
4. 加深了对软件工程的理解,学会了合理规划和管理项目,并与团队成员紧密合作。
然而,在实训过程中也遇到了一些挑战和问题:1. 初期对Java语言的理解还不够深入,需要阅读更多的相关书籍和文档来加强学习。
2. 在代码编写过程中,有时会出现一些小错误导致程序运行不正常,需要耐心调试和排查问题。
3. 对于项目的需求分析和设计,需要更加细致和全面,以确保系统功能的完备性和可扩展性。
Java实训报告实训总结引言本文将对我参与的Java实训项目进行总结与分析。
该项目是一个面向学生的学生成绩管理系统,旨在帮助教师管理学生成绩,提供成绩查询、录入和统计的功能。
在实训过程中,我主要负责系统前端的开发工作,包括页面设计和交互逻辑的实现。
通过参与实训项目,我提升了自己的编程能力和团队协作能力,也对Java Web开发有了更深入的了解。
项目背景随着互联网的发展和普及,学生管理系统已经成为教育行业的重要工具之一。
传统的学生成绩管理方式需要耗费大量的时间和人力,而且易于出错。
为了提高学生管理效率和准确性,开发一个基于Web的学生成绩管理系统是非常必要的。
本次实训项目就是为了解决这一问题而展开的实践。
项目目标本次实训项目的目标是建立一个可靠、高效的学生成绩管理系统,提供以下功能:•学生端功能:–查询个人成绩–查看课程信息–修改个人信息•教师端功能:–查询学生成绩–录入学生成绩–统计成绩信息技术选择为了实现项目的功能需求,我们选择使用以下技术进行开发:•后端框架:Spring Boot•前端框架:Vue.js•数据库:MySQL•版本控制:Git选择这些技术的原因主要有以下几点:1.Spring Boot:作为一个高度集成的Java框架,Spring Boot简化了Java Web应用的开发过程,提高了开发效率和代码质量。
2.Vue.js:作为一个轻量级、高效的JavaScript框架,Vue.js能够实现前端页面的快速开发和动态交互,有着良好的开发体验和可维护性。
3.MySQL:作为一个成熟、可靠的关系型数据库管理系统,MySQL能够提供高性能的数据存储和访问能力,满足学生成绩管理系统的数据需求。
4.Git:作为一个分布式版本控制系统,Git能够实现团队合作开发,并提供代码的版本管理和代码审核等功能,有助于项目的开发和维护。
实训过程在实训过程中,我们按照项目计划进行了以下工作:1.需求分析:与项目组成员一起分析了项目的功能需求和用户需求,明确了项目的目标和范围。
实验报告学生信息管理系统学号:XXXXXXXX:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。
对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。
AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level.1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。
基于Java的学籍管理系统实训报告一、引言本实训报告旨在详细介绍基于Java的学籍管理系统的设计与实现。
学籍管理系统是一套用于管理学校学生学籍信息的软件系统,能够方便地记录和查询学生的个人信息、学习成绩、奖惩情况等。
二、需求分析为了更好地满足学校对学籍管理的需求,我们分析了用户需求,并根据需求设计了系统的功能模块,包括学生信息管理、课程管理、成绩管理、奖惩管理等。
根据系统需求,我们选择使用Java语言进行开发。
三、系统设计3.1 学生信息管理在学生信息管理模块中,我们设计了以下功能:•添加学生信息:包括学生姓名、性别、年龄等基本信息。
•修改学生信息:可以对学生的基本信息进行修改。
•查询学生信息:可以根据学生的学号或姓名进行查询。
3.2 课程管理课程管理模块包括以下功能:•添加课程:包括课程名称、授课教师、学分等信息。
•修改课程信息:对课程的基本信息进行修改。
•查询课程信息:可以根据课程名称或教师姓名进行查询。
3.3 成绩管理成绩管理模块包括以下功能:•录入学生成绩:包括学生学号、课程名称、成绩等信息。
•修改学生成绩:可以对学生成绩进行修改。
•查询学生成绩:可以根据学生学号或课程名称进行查询。
3.4 奖惩管理奖惩管理模块包括以下功能:•添加奖惩信息:包括学生学号、奖惩类型、奖惩原因等信息。
•修改奖惩信息:可以对奖惩信息进行修改。
•查询奖惩信息:可以根据学生学号进行查询。
四、实现过程为了实现学籍管理系统,我们采用了Java语言和MySQL数据库。
以下是系统实现的步骤:1.设计数据库表结构:根据需求分析,设计了学生表、课程表、成绩表和奖惩表的结构,并创建了相应的表。
2.编写Java类:根据功能模块,编写了学生类、课程类、成绩类和奖惩类的Java类,定义了相应的属性和方法。
3.连接数据库:使用Java的JDBC技术连接MySQL数据库,并编写了数据库操作类,实现对数据库的增删改查操作。
4.编写用户界面:使用Swing组件库,设计了用户界面,包括添加学生信息、查询成绩、修改奖惩信息等操作的界面。
java成绩管理系统的实训总结报告Java成绩管理系统实训总结报告一、实训目标本次实训的目标是利用Java语言开发一个成绩管理系统,该系统能够实现对学校成绩的录入、查询、修改和删除等基本操作。
通过本次实训,我希望能够加深对Java语言的了解,提高编程能力,并熟悉软件开发的基本流程。
二、实训内容在本次实训中,我主要完成了以下几个部分的工作:1. 需求分析:首先对成绩管理系统的需求进行了详细的分析,确定了系统的基本功能和数据结构。
2. 系统设计:根据需求分析的结果,设计了数据库表结构和系统的主要功能模块。
3. 系统实现:使用Java语言实现了系统的各个功能模块,包括界面设计和后台逻辑处理。
4. 测试与调试:对系统进行了详细的测试,确保各个功能都能正常运行,并对出现的问题进行了调试和修复。
三、遇到的问题和解决方案在实训过程中,我遇到了以下几个问题:1. 数据库连接问题:最初在连接数据库时,出现了连接失败的情况。
经过检查,发现是连接字符串的配置出现了错误。
通过仔细检查并参考相关资料,最终解决了这个问题。
2. 界面设计问题:在界面设计中,最初版本的界面不够美观和易用。
通过学习和使用相关的UI设计工具和框架,我对界面进行了优化,使其更加美观和易用。
3. 数据验证问题:在处理数据时,没有对用户输入的数据进行有效的验证,导致出现了一些异常情况。
我通过添加数据验证代码,确保了数据的合法性和准确性。
四、实训收获与反思通过本次实训,我深入了解了Java语言在软件开发中的应用,提高了编程能力,并熟悉了软件开发的基本流程。
同时,我也意识到了在开发过程中需要注意的一些问题,如需求分析的准确性、代码的规范性和可维护性等。
在未来的学习和工作中,我将继续努力提高自己的技能和能力,以更好地适应社会和企业的需求。
此外,我也意识到了团队合作的重要性。
在实训过程中,我们需要相互协作、共同解决问题,才能按时完成项目。
在未来,我将更加注重团队合作,发挥每个人的优势,提高工作效率。
java实训报告总结(三篇)篇一:java实验实训内蒙古商贸职业学院计算机系学生校内实验实训报告20--20学年第学期系部:计算机系课程名称:Java程序设计教程专业班级:内蒙古商贸职业学院计算机系制填写说明1、实验项目名称:要用最简练的语言反映实验的内容,要与实验指导书或课程标准中相一致。
2、实验类型:一般需要说明是验证型实验、设计型实验、创新型实验、综合型实验。
3、实验室:实验实训场所的名称;组别:实验分组参加人员所在的组号。
4、实验方案设计(步骤):实验项目的设计思路、步骤和方法等,这是实验报告极其重要的内容,概括整个实验过程。
对于操作型实验(验证型),要写明需要经过哪几个步骤来实现其操作。
对于设计型和综合型实验,在上述内容基础上还应该画出流程图和设计方法,再配以相应的文字说明。
对于创新型实验,还应注明其创新点、特色。
5、实验小结:对本次实验实训的心得体会、思考和建议等。
6、备注:分组实验中组内成员分工、任务以及其他说明事项。
注意:①实验实训分组完成的,每组提交一份报告即可,但必须说明人员分工及职责。
不分组要求全体成员独立完成的实验实训项目可由指导老师根据个人完成情况分组填写。
②实验成绩按照百分制记,根据教学大纲及课程考核要求具体区分独立计算、折算记入两种情况。
③本实验实训报告是根据计算机系实验的具体情况在学院教务处制的实验实训报告的基础上进行改制的。
特此说明。
成绩单组别:小组成员:篇二:实训实训收获总结报告学部:计算机信息学院学科门类:计算机信息类专业:计算机应用技术姓名:朱恩林学号:____020实习单位:北京盛威南凌信息科技有限公司指导教师:王洪钊实习时间:____年5月15号―9月23号一、实训目的计算机信息管理专业的java实训在教学计划中是实训、实习课程。
它涵盖了java开发和工程组织、数据结构等多项相关知识。
通过对java语言、JavaWeb、数据库、jsp、html+css、ssh框架应用设计及SQL 语言的复习和锻炼,并且通过使用elipse开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。
java 实训报告范文(共 10 篇)辽宁建筑职业学院《Java 高级应用》实训报告课题名称:婚庆公司网站专业:软件技术班级:xxxxxxxxxx学号:姓名:xxxx 指导教师:xxx二O 一三年十二月三十日成绩评定标准:目录一、课程设计目的 ................ .. (3)二、课程设计题目描述和要求 ...... .. (3)三、课程设计报告内容 ............ .. (4)设计方案的论证 .................. .. (4)设计概述 ........................ .. (4)设计步骤 ........................ .. (4)课程设计的模块及功能 .............. .. (4)开发环境......................... .. (8)四、程序流程图与功能结构图 ...... .. (9)五、结论............................ .. (10)六、心得体会 .................... .. (11)七、参考书目 .................... .. (12)八、附录 ........................ .. (13)一、课程设计目的专业能力目标1.掌握规划网站的内容结构,目录结构,链接结构的方法。
2.熟练掌握网页制作软件的基本操作,和使用技能。
3.掌握使用 JAVA 语言进行面向对象设计的基本方法,提高运用分析问题,解决问题的能力。
4.提高我们对 JAVABEN 组建的掌握和运用能力,让我们更熟练应用图像的界面。
5.掌握页面的整体控制和头部内容的设置方法。
6.熟练掌握动态网站相关组件的设计:servelet、javabean、jsp、过滤器等。
7.熟练建立各种形式的超链网站测试的方法。
通用能力目标1、合理安排自己的任务及时间,来完成本次课题。
JAVA学⽣信息管理系统实验报告JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学⽣信息管理系统⼀、实验⽬的1.掌握Java基本语法2.理解⾯向对象编程特点3.理解Java I/O编程4.掌握Java图形界⾯编程5.掌握Java与不同数据库进⾏连接⼆、预习内容Java的基本语法知识、类和对象、Java Swing图形界⾯编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域⽹互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程⼯具。
并安装MySQL数据库四、实验内容编写并调试运⾏Java程序,进⾏设计,掌握Java开发的基础。
五、实验任务设计学⽣信息管理系统。
要求包括1. 登陆模块:设⽴超级管理员权限,⽤户可以根据不同的权限登陆系统,超级管理员可以对学⽣信息进⾏增、删、改、查操作。
⽽普通⽤户只可以查找学⽣信息。
2. 包括学⽣添加信息模块、学⽣信息删除模块、学⽣信息修改模块和学⽣信息查询模块3.对于管理员,可以对管理员进⾏添加、删除以及修改密码等操作。
六、实验报告(要求独⽴完成参考程序的代码、编译、调试与运⾏)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import /doc/04245934482fb4daa58d4b93.html ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学⽣信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17; public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使⽤学⽣管理系统",JLabel.CENTER); label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使⽤");menu2=new JMenu("⽤户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学⽣信息");a13=new JMenuItem("更改学⽣信息");a14=new JMenuItem("删除学⽣信息");a15=new JMenuItem("添加学⽣信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学⽣登录"); a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加⽤户");a22=new JMenuItem("删除⽤户");a23=new JMenuItem("更改⽤户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆"); pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11); menu1.addSeparator(); menu1.add(a16); menu1.addSeparator(); menu1.add(a17); menu1.addSeparator(); menu1.add(a12); menu1.addSeparator(); menu1.add(a13); menu1.addSeparator(); menu1.add(a14); menu1.addSeparator(); menu1.add(a15); menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22); menu2.addSeparator(); menu2.add(a23); menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ; st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();/doc/04245934482fb4daa58d4b93.html lear(); }con.close();}catch(SQLException e){System.out.println(e);}}}}主页⾯class Login{void Login(){final JFrame loginframe=new JFrame("登陆界⾯"); loginframe.setBounds(200,200,400,500); loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10); JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("⽤户名"); JLabel label2=new JLabel("密码"); loginframe.add(btn1); loginframe.add(btn2); loginframe.add(text1); loginframe.add(text2); loginframe.add(label1); loginframe.add(label2);label1.setBounds(80, 100, 50, 50); label2.setBounds(80, 200, 50, 50); btn1.setForeground(Color.black); btn2.setForeground(Color.black); text1.setBounds(150, 100, 200, 30); text2.setBounds(150, 200, 200, 30); btn1.setBounds(100, 300, 100, 60); btn2.setBounds(200, 300, 100, 60);。
java学生实习报告范文5篇现将我的实习情况汇报如下,请老师点评。
一、实习目的通过实习,培养综合运用Java语言的面向对象编程能力;培养动手能力;培养良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。
通过理论与实际的结合、学校与社会的沟通,进一步提高自己的思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便培养自己成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。
为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实习单位基本情况介绍__技术有限公司,是一家由__注资,专注于面向__汽车的软件开发设计、受托__信息系统株式会社开展系统开发,系统维护、面向中国的__资企业开展系统开发,以及面向中国国内的软件开发设计的IT企业。
公司成立于20__年__月__日,注册资金RMB2,000,000元(__信息系统株式会社100%投资),20__年__月__日成为__信息产业协会会员。
__信息一直秉承软件提高效率、与社会共创信息化新时代的理念,致力于为用户提供具有自主知识产权的系统软件、安全软件、平台软件、各类应用软件以及全方位的解决方案和相关服务。
三、实习内容1、日语培训:由于公司为日资企业,日常工作要求职员使用日语,因此,公司特从日本请来中原先生为我们做培训。
大家零基础开始,每天有两到三个小时的学习时间,每周一参加语言阶段性测试。
过程虽然比较艰难,但是效果显著,目前基本工作语言可用日语交流。
2、Java实训:通过本次实习,我对Java语言的各种特性有了更进一步的体会:(1)Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
千里之行,始于足下。
java实训报告Java 实训报告一、实训背景本次实训是为了提高学生对于Java编程语言的理解和掌握,以及培养学生实际应用Java进行软件开发的能力。
在实训过程中,我们选择了一系列与实际应用相关的项目进行开发,包括学生成绩管理系统、图书管理系统等。
二、实训目标本次实训的主要目标是培养学生的Java编程能力,并且让学生能够熟悉并掌握常用的Java开发工具。
通过参与实际项目的开发,学生可以加深对Java 语言的理解,并且巩固所学的知识。
同时,通过与同学的合作开发,学生可以锻炼自己的团队协作能力。
三、实训内容1. 学生成绩管理系统学生成绩管理系统是一个简单的Java应用程序,它可以实现对学生的成绩进行管理和统计。
主要功能包括:添加学生信息、录入学生成绩、查询学生成绩、统计平均成绩等。
通过开发此系统,学生可以熟悉Java的面向对象编程思想,学习如何使用Java的相关库函数实现功能,在此过程中培养对软件开发的分析和设计能力。
2. 图书管理系统第1页/共3页锲而不舍,金石可镂。
图书管理系统是一个更加复杂的Java应用程序,它实现了对图书的入库、出库、查询等功能。
此系统还包括管理员和用户两个角色,管理员可以对图书进行管理,而用户可以查询图书信息。
通过开发图书管理系统,学生可以进一步学习Java的面向对象设计和MySQL数据库的使用,学习如何设计和实现一个完整的软件系统。
四、实训过程1. 学生成绩管理系统在学生成绩管理系统的开发过程中,我们首先进行了需求分析,确定了系统的功能和界面设计。
然后,我们利用Java的Swing库,设计了系统的用户界面。
通过编写相关的Java代码,我们实现了系统的各个功能模块,并进行了测试和修改,最终完成了学生成绩管理系统的开发。
2. 图书管理系统在图书管理系统的开发过程中,我们首先进行了数据库的设计,设计了图书、管理员和用户等相关表结构。
然后,我们利用Java的JDBC库,连接数据库,并进行了数据的操作。
北京联合大学实训报告课程(项目)名称:Java程序设计实训(双语)学院:师范学院专业:计算机班级:学号: 2010 姓名:成绩:2013年6月17实训一小球的碰撞试验一、实训任务与目的实训任务:使用多线程编程和图形界面的画图,编写一个或多个在长方形盒子中反弹的小球。
要求:界面设计、颜色选取等可能美观。
有能力的同学可以设计图形界面的操作按钮,用于改变球的颜色、反弹速度,开始和结束按钮等。
本任务要求4节课完成。
实训目的:1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。
2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行线程的创建、启动等工作。
3、培养独立查找资料,并解决问题的能力。
二、原理通过Ball类来进行对球的设计,有对于增加球的速度,返回球的当前速度,球球移动到边界事的处理球颜色的随机处理,球速度的随机处理等,使得运行时的界面和球的各种运动状态都能良好。
每一个球都是通过一个线程来进行控制,其中还对球的碰撞进行了分析和处理,通过对线程中小球的之间距离和半径和的比较对碰撞情况做了比较好的处理,Balliards还设定了各个全局常量,设置了小球的最小最大速度,最小最大尺寸,球的数目,窗体的宽度和长度等。
三、实训内容与步骤代码如下:package shixun1;import java.awt.Color;import java.awt.Graphics;import java.util.Random;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import javax.swing.JFrame;import javax.swing.JPanel;public class Ball extends JPanel implements Runnable {int y = 200,x=70,a;Color l0=Color.YELLOW;Color l1=Color.BLACK;Color l2=Color.RED;Color l3=Color.BLUE;Color l4=Color.GREEN;public void paint(Graphics g) { super.paintComponent(g);g.setColor(l0);g.drawRect(20, 20, 360, 360); g.setColor(l1);g.fillOval(y, x, 20, 20);g.setColor(l2);g.fillOval(40, y, 20, 20);g.setColor(l3);g.fillOval(x, y, 20, 20);g.setColor(l4);g.fillOval(x, 90, 20, 20);}public void run() {while (true) {try {{if( a==0){ l0=Color.GREEN;l1=Color.CYAN;l2=Color.YELLOW;l3=Color.ORANGE;l4=Color.GRAY;Random ll= new Random();int ld=ll.nextInt(15)+1;x-=1;y += 1;Thread.sleep(ld);if(x==20)a=1;}else if(a==1){ l0=Color.RED;l1=Color.BLUE;l2=Color.RED;l3=Color.BLACK;l4=Color.PINK;Random ll= new Random();int lmb=ll.nextInt(4)+1;x+=1;y += 1;Thread.sleep(lmb);if(y==360)a=2;}else if(a==2){ l0=Color.BLUE;l1=Color.darkGray;l2=Color.WHITE;l3=Color.GREEN;l4=Color.MAGENTA;Random ll= new Random();int ld=ll.nextInt(10)+1;x+=1;y -= 1;Thread.sleep(ld);if(x==360)a=3;}else if(a==3){ l0=Color.YELLOW;l1=Color.GREEN;l2=Color.BLUE;l3=Color.RED;l4=Color.ORANGE;Random ll= new Random();int lmb=ll.nextInt(6)+1;x-=1;y -= 1;Thread.sleep(ld);if(y==20)a=0;}}} catch (InterruptedException e) {e.printStackTrace();}repaint();}}public static void main(String args[]) {Ball panel = new Ball();ExecutorService threadExecutor =Executors.newCachedThreadPool(); threadExecutor.execute(panel);// create a new frame to hold the panel JFrame application = new JFrame();// set the frame to exit when it is closedapplication.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);application.add(panel); // add the panel to the frameapplication.setSize(400, 420); // set the size of the frameapplication.setVisible(true);} // end main}下面为运行时的图形界面:按钮设计代码:package shixun1;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;public class BallButton extends JFrame {JButton start, stop;Thread threadExecutor;BallButton() {super("碰撞的小球--liudan29");final Ball ld = new Ball();this.add(ld, BorderLayout.CENTER);JPanel btn = new JPanel();start = new JButton("开始");stop = new JButton("停止");btn.add(start);btn.add(stop);ActionListener handler1 = null;ActionListener handler = null;start.addActionListener(handler1);stop.addActionListener(handler);start.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { start.setEnabled(false);threadExecutor = new Thread(ld); threadExecutor.start();stop.setEnabled(true);}});stop.addActionListener(new ActionListener() {@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent event) { start.setEnabled(true);threadExecutor.stop();stop.setEnabled(false);}});add(btn, BorderLayout.NORTH);this.setSize(450, 500);this.setVisible(true);}public static void main(String[] args) {new BallButton();}}开始状态下运行的界面:停止状态下运行的界面:实训中的问题和解决方法(1)停止按钮不能控制小球(2)小球碰壁后颜色没有变化在遇到问题时,我首先会先向班上基础知识扎实的同学请教,如果在同学的帮助下还不能解决的问题我就会向老师求助,最终在大家的共同努力下程序加以完善总结在几天的实训中我真正体会到这几点。
Java实训报告总结与心得关于Java的实训报告大家了解过多少呢?可能很多人都不是很清楚,而小编在这里为大家分享下Java实训报告总结与心得范文,大家都一起来看一下吧。
Java实训报告总结与心得一在上学期的最后一周和本学期的第一周,我和同组的学员在学校机房进行了JAVA暑期实训,现在已经结束了。
回首上学期的java学习,重点还是在学习概念等一些常识性的东西,Application应用程序和Applet小程序,它的开发工具、数据类型、变量、接口、输入输出流等。
学会分析异常,抛出异常,后期主要是小程序运用,Gui界面设计和事件。
我觉得这两种程序结构有很大的不同,不管是体系结构还是运行方式,都有很大的区别,而我主要偏向于小程序的学习。
因为我感觉它实用性比较大,可以做出很多不错的游戏、运用程序等,而且它比较灵活。
当然学知识不能仅凭自己的爱好和一时兴趣,要一步一个脚印、认认真真、踏踏实实,理论与实践相结合。
在掌握课本实例和内容之后,要有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象编程语言。
不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性,而且它比较的经典和强悍。
这次实训,面对老师布置的任务,一开始有些慌张和无措。
不过,事后我首先想到这和课本上的某些知识具有结合点,回忆和分析了老师教过的算法和具体实施方法,并综合考虑了其他的方面。
在编写时,一个小小的符号、一个常量变量的设定,这都无不考量着我的细心和严谨。
所以学习JAVA,不仅对我们以后学习其他语言有很大的好处,而且也让我们知道了和理解了作为一个编程人员首先应具有的良好心理素质,那就是冷静思考和专心致志。
在此次实训中,我意识到一个好的编程人员要善于沟通和团结拼搏。
实训结束后,我觉得要学好一门计算机语言必须牢记以下几点:1. 态度第一2.兴趣是关键3.敢于挑战4.不懈追求实训结束了,大家都有一种解脱的感觉。
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
java实训报告总结范文《Java 实训报告总结》在这为期X周的Java 实训中,我仿佛经历了一场奇妙的编程冒险。
从一开始对 Java 一知半解,到逐渐能够熟练运用它来解决实际问题,这过程中的酸甜苦辣,现在回想起来,还真是别有一番滋味。
还记得实训刚开始的时候,看着那密密麻麻的代码和各种复杂的概念,我整个人都懵了。
什么面向对象、类和对象、继承和多态,这些名词就像一个个神秘的咒语,让我摸不着头脑。
但我心里明白,既然选择了这条路,就得硬着头皮走下去。
我们的实训任务是开发一个小型的学生管理系统。
这听起来似乎不是很难,但对于当时的我来说,简直就是一座难以逾越的大山。
我和我的小组成员们围坐在一起,热烈地讨论着系统的功能和架构。
每个人都充满了热情,但也都带着一丝迷茫。
“咱们先把系统的框架搭起来吧,比如登录模块、学生信息管理模块、课程管理模块。
”组长提议道。
“好呀好呀,那登录模块得有用户名和密码验证吧?”另一个组员附和道。
就这样,我们七嘴八舌地讨论着,逐渐有了一些思路。
接下来,就是动手实践了。
我负责的是学生信息管理模块。
一开始,我连怎么创建一个类都不太清楚,只能一边看着教材,一边在网上搜索示例代码。
好不容易创建好了类,却又不知道怎么给类添加属性和方法。
那种感觉,就像是在黑暗中摸索,找不到方向。
“哎呀,这可怎么办呀?我怎么总是出错!”我忍不住抱怨起来。
“别着急,慢慢来,咱们一起看看。
”组长走过来,耐心地帮我检查代码。
经过一番仔细的检查,终于发现了问题所在。
原来是我在定义变量的时候,数据类型搞错了。
“哈哈,原来是这么个小错误,我怎么就没注意到呢!”我拍了拍自己的脑袋,自嘲地笑了笑。
解决了这个问题,我顿时信心大增,继续埋头苦干。
接下来,要实现学生信息的添加、修改、删除和查询功能。
这可不像之前那么简单了,需要考虑很多细节问题,比如数据的存储、界面的交互等等。
在实现添加功能的时候,我遇到了一个大难题。
怎么把用户输入的学生信息保存到数据库中呢?我尝试了各种方法,都以失败告终。
.
Java学生管理系统 实训报告
学 号:
名: 姓 班
级: 指导老师:
范文word .
一、项目计划
(1)项目名称:学生信息管理系统 (2)实训地点: (3)小组成员: 二、系统总体设计 (1)需求分析 学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。 通过实际调查,要求学生信息管理系统具有以下功能: 1. 界面设计美观大方,方便,快捷,操作灵活。 2. 实现强大的学生个人信息,课程信息,成绩信息的查询,修改,录入,删除管理。 3. 实现强大的联系人信息及其类别的查询,录入,删除管理。 4. 能够在不同的的操作系统下运行,不局限于特定的平台。 5. 提供数据库备份与恢复功能。 6. 提供友情平台,例如:计算机,方便对成绩的操作; (2)项目计划安排 一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度 范文word .
外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每
个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。 (3)概要设计 概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。 (4)详细设计 概要设计是为了明确开发人员的工作步骤和工作目标。详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。 (5)数据表设计 根据系统所需,可以得出需要以下数据表信息: 需要管理学生信息:学生表。 需要管理教师信息:教师表。 需要管理课程信息:课程表。 需要管理选课信息:选课表。 需要管理院系信息:院系表。 需要管理管理员信息:管理员表。 范文word .
(6)系统功能结构
(7)系统功能设计 系统功能框架:作为一个学生管理系统,本系统的设计主要包含:系统登录、学生信息管理、班级管理、课程管理和用户管理。学生管理系统主框架的主要结构。 (8)数据库设计 表1 Student(学生)表 字段名 数据类型 备注 stuID varchar(20) not null 学号 stuPwd varchar(20) not null 密码 stuName varchar(10) not null 姓名 stuDepart int 系院号 stuGrade int 年级 stuClass int 班级
Teacher(教师)表表2
字段名 数据类型 备注 teaID varchar(20) not null 教师编号 teaPwd varchar(20) not null 教师密码 teaName varchar(10) not null 教师姓名 teaDepart int 系院号
Cource3 (课程)表 表 字段名 数据类型 备注 courceID varchar(20) not null 课程编号 tealID varchar(20) not null 教师编号
范文word . courceName varchar(100) not null 课程名称 courceTime varchar(20) 上课时间 courceAddress varchar(50) 上课地点 courceInfo text 课程简介
Elect(选课)表 表4 字段名 数据类型 备注 electId int not null 选课编号 stuID varchar(20) not null 学生编号 teaID varchar(20) not null 教师编号 courceID varchar(20) not null 课程编号 score int 成绩 表5 Users(系统管理员)表 字段名 数据类型 备注 adminName varchar(20) not null 管理员用户名 adminPwd varchar(20) 管理员密码
表6 Depart(系院)表 字段名 数据类型 备注 departed int not null 系院号 departName varchar(100) 系院名称
)生成数据库(9如何将设计好的这些图形元设计好软件所需要的全部数据表后, 的一个优点就PowerDesignerSQL Server中的数据库呢?素转化成 是对数据库可逆。下面是连接数据库的具体步骤: PowerDesigner,出现工作界面。① 打开生成数据库”菜单命令,弹出对话框。这里|② 单击“数据库是否比如生成文件目的地、可以看到所有与生成数据库有关的选择, 生成视图、是否生成主键索引等。脚本的保存地址,单击“确定”按钮,如果不提示SQl ③修改脚本文件。所生成错误,在所选的目的地就能发现一个crebas.sql因为所创建的仅仅是数据库的脚本文件中并没有关于数据库的信息, 范文word
. 中表的所有信息。下面就要创建一个数据库。
④ 打开SQL Server,出现其控制台窗口。这里主要包含对象资源管理器和摘要2个区域。 ⑤ 在对象资源管理器中,右键单击“数据库”项目,在弹出的菜单中选择“新建数据库”,就出现了新建数据库的窗口。 ⑥ 在“数据库名称”文本框内,填写本项目数据库的名称:StudentManager。单击“确定”按钮,就生成了程序所需的数据库,并返回到数据库界面。 ⑦ 单击“常规工具栏|新建查询”按钮,系统自动创建一个名为“SQLQuery1.sql”的文本窗口,并显示在摘要区内。 ⑧ 打开第3步生成的脚本文件,按Ctrl+A组合键,选择文件里的所有内容,复制到打开的查询文件中。 ⑨ 检查一下复制过来的代码是否完整,然后在“常规工具栏|数据库选择”下拉框中选择“StudentManager”。 ⑩ 单击“常规工具栏|执行”按钮,执行脚本。如果提示“命令成功执行”,则生成了完整的数据库文件。 在完成对数据库中自动生成的表的检查后,如果没有问题,整个数据库设计就完成了。为了避免日后的重复操作,在设计数据库时,一定要全面掌握每个表的信息内容,因为后期再添加字段将会带来极高的维护成本。 (10)项目的测试 测试是为了更好地完成项目的功能,虽然测试并不能完全模拟实 范文word .
际发生的流程,但可以降低错误的发生概率,提高软件项目的稳定性。
按照极限编程的理论,写测试就是对软件进行设计的过程,它的重要性甚至超过了完成实际功能的代码。先将测试写完,然后再来实现代码,这样所有的测试通过之日也就是程序完成之时。虽然这些理论并不能完全实践,但测试的重要性是毋庸置疑的。 四、实训总结 1.第一次完成项目,深刻的体会到软件整体架构的重要性,编程不能想到哪编到哪,这样在项目的后期会出现很多无法解决的致命错误,所以软件的整体架构的成败将会决定软件的成败,软件分析架构的时间应该占整个项目的大部分时间。 2.Java不仅仅是一个实训更是检验一个人综合能力的测试题。它在考察知识的同时,也考验了一个人的心理素质,沟通交流,表达能力,所以,在做好java任务的同时必须能够协调好这些。 3.软件测试的过程应该贯穿整个软件设计的过程,而不是等做好了再测试,需求分析的时候就应该测试了,而且要反复循环的测试。 4.虽然现在对需求分析还很模糊,但应该强化自己的需求分析的能力,一个好的需求分析才是软件的灵魂。 5.团队精神非常重要,需要不断的沟通。 6.总体上由于自己本身能力有限,还需要进一步学习。 五、实训心得 在几天的实训中我真正体会到这几点。首先兴趣是关键,我的学习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想 范文
word .
充分理解一切细节。又因为理解,所以许多原本片片断断的知识都可
以渐渐互相融会贯通,累积技术能量、理论和实务之间的玻璃被打破了,学习效率才能倍增。 其次态度要端正,摆正自己的心态,不要以为什么东西上网搜搜就可以了,一定要有自己的东西。只有自己付出过,当程序运行成功时的那种喜悦才会令自己有一种莫名的自豪感。态度决定一切!然后还要有敢于挑战不安于现成的程序,要敢于用多种方法实现一个目的。