课程设计报告模板(JAVA程序设计)

合集下载

Java课程设计报告1

Java课程设计报告1

Java程序设计课程设计报告院别:计算机系班级:XXXX学号: ******XXXXX姓名: XXX指导教师:XXX日期:2013-5-24目录1概述 (3)1.1实验题目和内容 (3)1.2实验目的和要求 (3)2计算器的设计与实现 (4)2.1程序步骤 (4)2.2程序源代码 (4)3运行调试及讨论分析 (4)4实验小结与心得 (12)1概述1.1设计目的及思路通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。

利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。

给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。

除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。

当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!1.2功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。

(2)减法两个数据进行减操作,可以为负数相减。

(3)乘法两个数相乘操作。

(4)除法两个数相除操作(5)清零将运算框清除(6)返回退回一格2计算器的设计与实现2.1程序界面2.2程序源代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Calculator extends JFrame implements ActionListener{JPanel vv1,vv2,vv3,vv4;JTextField kk1 ; //添加数字框和符号框JButton[] r={new JButton("7"),new JButton("8"),new JButton("9"),new JButton("/"),new JButton("4"),new JButton("5"),new JButton("6"),new JButton("*"),new JButton("1"),new JButton("2"),new JButton("3"),new JButton("-"),new JButton("0"),new JButton("."),new JButton("+"),new JButton("="),new JButton("←"),new JButton("清空")};double a=0,b=0,c=0,fuhao=5;Boolean has=false;Boolean hav=true;Boolean haw=true;Calculator(String S){setTitle(S);kk1=new JTextField("0",20);kk1.setEditable(false);kk1.setFont(new Font("宋体",Font.BOLD,25));kk1.setBackground(Color.YELLOW);for(int i=16;i<18;i++){r[i].setFont(new Font("黑体",Font.BOLD,15));r[i].setForeground(Color.blue);}vv1=new JPanel(new GridLayout(4,5,5,5));vv2=new JPanel(new GridLayout(1,2,1,1));vv3=new JPanel(new FlowLayout());vv4=new JPanel(new BorderLayout());vv3.add(kk1);vv4.add(vv2,BorderLayout.NORTH);vv4.add(vv1,BorderLayout.CENTER);for(int i=0;i<16;i++)r[i].setForeground(Color.black);this.add(vv3,BorderLayout.NORTH);this.add(vv4,BorderLayout.CENTER);for(int i=16;i<18;i++)vv2.add(r[i]);for(int i=0;i<16;i++)vv1.add(r[i]);for(int i=0;i<18;i++)r[i].addActionListener(this);for(int i=16;i<18;i++){setSize(350,300);setLocation(210,205);setResizable(false);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }public void actionPerformed(ActionEvent e){if(e.getSource()==r[12]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"0");else {kk1.setText("");kk1.setText(kk1.getText()+"0");hav=true;haw=true;}}else if(e.getSource()==r[8]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"1");else {kk1.setText("");kk1.setText(kk1.getText()+"1");hav=true;haw=true;}}else if(e.getSource()==r[9]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"2");else {kk1.setText("");kk1.setText(kk1.getText()+"2");hav=true;haw=true;}}else if(e.getSource()==r[10]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"3");else {kk1.setText("");kk1.setText(kk1.getText()+"3");hav=true;haw=true;}}else if(e.getSource()==r[4]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"4");else {kk1.setText("");kk1.setText(kk1.getText()+"4");hav=true;haw=true;}}else if(e.getSource()==r[5]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"5");else {kk1.setText("");kk1.setText(kk1.getText()+"5");hav=true;haw=true;}}else if(e.getSource()==r[6]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"6");else {kk1.setText("");kk1.setText(kk1.getText()+"6");hav=true;haw=true;}}else if(e.getSource()==r[0]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"7");else {kk1.setText("");kk1.setText(kk1.getText()+"7");hav=true;haw=true;}}else if(e.getSource()==r[1]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"8");else {kk1.setText("");kk1.setText(kk1.getText()+"8");hav=true;haw=true;}}else if(e.getSource()==r[2]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"9");else {kk1.setText("");kk1.setText(kk1.getText()+"9");hav=true;haw=true;}} //数字键else if(e.getSource()==r[14]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=0;has=true;hav=true;haw=false;}else if(!haw){fuhao=0;}}//+else if(e.getSource()==r[11]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=1;has=true;hav=true;haw=false;} else if(!haw){fuhao=1; }}//-else if(e.getSource()==r[7]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=2;has=true;hav=true;haw=false;} else if(!haw){fuhao=2;}}//*else if(e.getSource()==r[3]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=3;has=true;hav=true;haw=false;} else if(!haw){fuhao=3;}}// 运算符号/else if(e.getSource()==r[15]){if(kk1.getText().length()>0&&has){b=Double.valueOf(kk1.getText()); // =if(fuhao==0){c=a+b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==1){c=a-b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==2){c=a*b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==3){ if(b!=0){c=a/b;kk1.setText(String.valueOf(c));}else JOptionPane.showMessageDialog(null, "除数不能为0");has=false;hav=false;}}} // 计算else if(e.getSource()==r[13]){if(kk1.getText().indexOf(".")==-1&&kk1.getT ext().length()>0) kk1.setText(kk1.getText()+".");} //添加小数点else if(e.getSource()==r[16]){if(kk1.getText().length()>1)kk1.setText(kk1.getT ext().substring(0, kk1.getText().length()-1));else kk1.setText("0");hav=true;} //Backspaceelse if(e.getSource()==r[17]){kk1.setText("0");has=false;hav=true;}}// CEpublic static void main(String[] args){new Calculator("计算器");}}3运行调试及讨论分析将代码写好之后检查代码的正确性,检查代码无误后将代码进行调试和运行将会出现一个JavaApplet计算器界面。

java课程设计范例

java课程设计范例

java课程设计范例一、教学目标本节课的教学目标是让学习者掌握Java编程语言的基本语法、流程控制语句以及简单的数据结构。

通过本节课的学习,学生将能够:1.理解Java语言的基本语法,包括数据类型、变量、运算符等。

2.掌握Java的流程控制语句,包括条件语句、循环语句等。

3.熟悉Java的基本数据结构,包括数组、链表、栈和队列等。

4.能够运用Java语言编写简单的程序,实现基本的算法。

二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法:介绍Java语言的数据类型、变量、运算符等基本语法规则。

2.流程控制语句:讲解条件语句、循环语句等流程控制语句的用法和意义。

3.基本数据结构:介绍Java中的数组、链表、栈和队列等基本数据结构及其应用。

4.编程实践:通过编写简单的Java程序,使学生能够将所学知识应用于实际问题的解决中。

三、教学方法为了达到本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解Java语言的基本语法、流程控制语句和基本数据结构,使学生能够理解和掌握相关知识。

2.案例分析法:通过分析具体的Java程序案例,使学生能够了解和掌握Java语言的应用方法。

3.实验法:让学生通过编写和运行Java程序,亲自体验和掌握Java语言的语法和编程技巧。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程语言》等与本节课内容相关的教材和参考书。

2.多媒体资料:通过PPT等多媒体形式,生动、形象地展示Java语言的基本语法、流程控制语句和基本数据结构。

3.实验设备:为学生提供必要的计算机和网络环境,让他们能够编写和运行Java程序。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下几种评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估他们的学习态度和理解能力。

2.作业:布置与课程内容相关的作业,评估学生对知识点的掌握程度和编程能力。

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告篇一:Java实验八报告《Java语言程序设计》实验报告学生姓名:郭倩班级:信息112学号:201152275208实验地点:经管实验中心证券实验室指导教师:赵利平实验日期:实验环境:Windows 2000+JDK1.61. 实验目的(1)理解子类派生的概念(2)学习创建子类对象(3)掌握方法覆盖的使用2.实验内容(1)设计三个类:完成实验教材P52页程序清单4-2;(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;2. 实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。

实验内容(1)://Polymorphism.abstract class Student{final static int CourseNo=3;String name;String type;int[] courses;String courseGrade;public Student(String name){=name;courses=new int[CourseNo];courseGrade=null;}public abstract void calculateGrade();public String getName(){return name;}public String getType(){return type;}public String getCourseGrade(){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){=name;}public void setType(String type){this.type=type;}public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;}}class Undergraduate extends Student{public Undergraduate(String name){super(name);type="本科生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";}}class Postgraduate extends Student{public Postgraduate(String name){super(name);type="研究生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好"else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";}}public class Polymorphism{public static void main(String[] args){Student[] students=new Student[5];students[0]=new Undergraduate("陈建平");students[1]=new Undergraduate("鲁向东");students[2]=new Postgraduate("匡晓华");students[3]=new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣");for(int i=0;i<5;i++){students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for(int i=0;i<5;i++){students[i].calculateGrade();}System.out.println("姓名"+" 类型"+" 成绩");}}System.out.println("-------------------------"); for(int i=0;i<5;i++){ System.out.println(students[i].getName()+" "+students[i].getType()+" "+students[i].getCourseGrade()); }(1) 都有(2) Student[] students=new Student[5];(3) Student是抽象的,不能用new操作符创建抽象类的实例。

《Java》课程设计》记事本

《Java》课程设计》记事本

《Java课程设计》记事本课程设计报告书目录一、设计课题二、设计目的三、操作环境四、设计场所(机房号、机器号或自己机器)五、设计过程(设计内容及主要程序模块)六、本次设计中用到的课程知识点(列出主要知识点)七、设计过程中遇到的问题及解决办法八、程序清单五、设计过程(设计内容及主要模块,不少于3000字)1.设计要求1)界面设计2)功能实现(1)文件菜单:新建、打开、保存、另存为、退出等。

(2)其中新建菜单项可以新建一个记事本程序;打开菜单项可以打开一个用户指定的文本文件,并将其内容显示在记事本的文本区域;保存和另存为菜单项可分别实现文件的保存和另存为3)编辑菜单:复制、剪切和粘贴等4)帮助菜单:软件版本信5)右键弹出快捷菜单2.总体设计1)功能模块图:图一功能模块图2)功能描述1、打开记事本。

首先是标准型的记事本,拥有文件、编辑。

格式和帮助。

如图1所示:图1标准型记事本界面2、在标准型的记事本界面中,进行的新建一个本件名字叫新记事本。

如图2记事本文件帮助新建打开保存另存为退出复制剪切粘贴编辑关于记事本右键快捷格式字体颜色图2新建记事本功能3、用打开文件打开刚刚新建的新记事本。

如图三所示。

图3—打开文件4、点击退出即可退出,如图4所示:图4—退出记事本5、点击帮助可以看到有关记事本的相关信息,其中有作者名、版本、许可条款、隐私声明等必要信息。

如图5所示:图5—帮助相关信息6、右键可实现复制、粘贴、剪切、清除等常用功能,方便用户可以快捷方便的使用记事本。

如图6所示:图6—右键功能7、编辑也可实现制、粘贴、剪切、清除等常用功能,方便用户选择自己适合的方式,自由选择方便的快捷方式使用。

如图7:图7—编辑八、程序清单package test;import java.io.File;import java.io.*;import java.awt.event.*;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import javax.swing.filechooser.*;public class Notebook extends JFrame implements ActionListener,ItemListener{ //组件创建JButton b_save,b_close; //按钮JTextArea textArea; //文本框File tempFile; //文件JPanel jp; //面板JMenu file,edit,style,help; //菜单JMenuItemf_new,f_open,f_save,f_close,f_saveas,e_copy, e_paste,e_cut,e_clear,e_selectAll,e_find,e_rep lace,s_font,s_color,h_editor,h_help; //菜单条JMenuBar jmb;JScrollPane jsp; //滚动面板JPopupMenu popUpMenu = new JPopupMenu(); //右键弹出式菜单JLabel stateBar;//标签JLabel jl,jj;JFileChooser jfc = new JFileChooser(); //文件选择JMenuItemje_copy,je_paste,je_cut,je_clear,je_selectAll,je _find,je_replace; //弹出式菜单条public Notebook(){jfc.addChoosableFileFilter(new FileNameExtensionFilter("文本文件(*.txt)","txt"));jmb = new JMenuBar();textArea = new JTextArea();jsp = new JScrollPane(textArea);file = new JMenu("文件");edit = new JMenu("编辑");style = new JMenu("格式");help = new JMenu("帮助");je_copy = new JMenuItem("复制(C) ");je_paste = new JMenuItem("粘贴(P) ");je_cut = new JMenuItem("剪切(X) ");je_clear = new JMenuItem("清除(D) ");je_selectAll = new JMenuItem("全选(A) ");je_find = new JMenuItem("查找(F) ");je_replace = new JMenuItem("替换(R) ");je_copy.addActionListener(this); //给弹窗式的各组件添加监听器je_paste.addActionListener(this);je_cut.addActionListener(this);je_clear.addActionListener(this);je_selectAll.addActionListener(this);je_find.addActionListener(this);je_replace.addActionListener(this);//给界面上方的菜单条添加监听器f_new = new JMenuItem("新建(N)");f_new.setAccelerator(KeyStroke.getKeyS troke('N',InputEvent.CTRL_MASK,false)); //设置带修饰符快捷键f_new.addActionListener(this);f_open = new JMenuItem("打开(O)");f_open.setAccelerator(KeyStroke.getKey Stroke('O',InputEvent.CTRL_MASK,false));f_open.addActionListener(this);f_save = new JMenuItem("保存(S)");f_save.setAccelerator(KeyStroke.getKey Stroke('S',InputEvent.CTRL_MASK,false));f_save.addActionListener(this);f_saveas = new JMenuItem("另存为");f_saveas.setAccelerator(KeyStroke.getKe yStroke(KeyEvent.VK_S,InputEvent.CTRL_ MASK|InputEvent.SHIFT_MASK));f_saveas.addActionListener(this);f_close = new JMenuItem("退出(W)");f_close.setAccelerator(KeyStroke.getKey Stroke('W',InputEvent.CTRL_MASK,false));f_close.addActionListener(this);e_copy = new JMenuItem("复制(C)");e_copy.setAccelerator(KeyStroke.getKey Stroke('C',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_paste = new JMenuItem("粘贴(V)");e_paste.setAccelerator(KeyStroke.getKeyStro ke('V',InputEvent.CTRL_MASK,false));e_paste.addActionListener(this);e_cut = new JMenuItem("剪切(X)"); e_cut.setAccelerator(KeyStroke.getKeyStroke ('X',InputEvent.CTRL_MASK,false));e_cut.addActionListener(this);e_clear = new JMenuItem("清除(D)");e_clear.setAccelerator(KeyStroke.getKeyStrok e('D',InputEvent.CTRL_MASK,false));e_clear.addActionListener(this);e_selectAll = new JMenuItem("全选(A)");e_selectAll.setAccelerator(KeyStroke.getKey Stroke('A',InputEvent.CTRL_MASK,false));e_selectAll.addActionListener(this);e_find = new JMenuItem("查找(F)");e_find.setAccelerator(KeyStroke.getKeyStrok e('F',InputEvent.CTRL_MASK,false));e_copy.addActionListener(this);e_replace = new JMenuItem("替换(R)");e_replace.setAccelerator(KeyStroke.getK eyStroke('R',InputEvent.CTRL_MASK,false)) ;e_replace.addActionListener(this);s_font = new JMenuItem("字体(T)");s_font.setAccelerator(KeyStroke.getKeyStrok e('T',InputEvent.CTRL_MASK,false));s_font.addActionListener(this);s_color = new JMenuItem("颜色(C)...");s_color.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_C,InputEvent.CTRL_MAS K | InputEvent.SHIFT_MASK));s_color.addActionListener(this);h_editor = new JMenuItem("关于记事本");h_editor.setAccelerator(KeyStroke.getKeyStro ke(KeyEvent.VK_E,InputEvent.CTRL_MAS K));h_editor.addActionListener(this);h_help = new JMenuItem("帮助信息(H)");h_help.setAccelerator(KeyStroke.getKeyStrok e(KeyEvent.VK_I,InputEvent.CTRL_MASK) );h_help.addActionListener(this);//添加右键弹出式菜单popUpMenu.add(je_copy);popUpMenu.add(je_paste);popUpMenu.add(je_cut);popUpMenu.add(je_clear);popUpMenu.addSeparator();popUpMenu.add(je_selectAll);popUpMenu.add(je_find);popUpMenu.add(je_replace);//编辑区鼠标事件,点击右键弹出"编辑"菜单textArea.addMouseListener(new MouseAdapter(){public void mouseReleased(MouseEvent e) {if(e.getButton() == MouseEvent.BUTTON3)popUpMenu.show(e.getComponent(), e.getX(), e.getY());} //e.getComponent()和textArea具有同等效果public void mouseClicked(MouseEvent e){if(e.getButton() == MouseEvent.BUTTON1)popUpMenu.setVisible(false);}});this.setJMenuBar(jmb);this.setTitle("记事本程序");file.add(f_new); //添加文件菜单组件file.add(f_open);file.addSeparator(); //加分隔线file.add(f_save);file.add(f_saveas);file.addSeparator();file.add(f_close);edit.add(e_copy); //添加编辑菜单组件edit.add(e_paste);edit.add(e_cut);edit.add(e_clear);edit.addSeparator();edit.add(e_selectAll);edit.add(e_find);edit.add(e_replace);style.addSeparator();style.add(s_font);style.add(s_color);jmb.add(file); //添加格式菜单组件jmb.add(edit);jmb.add(style);jmb.add(help);help.add(h_editor); //添加帮助菜单组件help.add(h_help);//textArea.setWrapStyleWord(true); //设置在单词过长的时候是否要把长单词移到下一行。

java课程设计报告

java课程设计报告

java课程设计报告Java课程设计报告。

一、引言。

Java作为一种跨平台的编程语言,具有广泛的应用领域和强大的功能,因此在计算机专业课程中占据着重要的地位。

本次课程设计旨在通过对Java语言的学习和实践,提高学生对于面向对象程序设计的理解和应用能力,同时锻炼学生的编程实践能力和团队协作能力。

二、课程设计内容。

1. 课程设计主题。

本次课程设计的主题为“学生成绩管理系统的设计与实现”。

通过该主题的设计,旨在让学生通过实际的项目开发,掌握Java语言的基本语法和面向对象的编程思想,同时对软件开发的整个流程有一个清晰的认识。

2. 课程设计目标。

(1)掌握Java语言的基本语法和面向对象的编程思想;(2)了解软件开发的整个流程,包括需求分析、设计、编码、测试和维护;(3)培养学生的团队协作能力和解决问题的能力;(4)通过实际项目的开发,提高学生的编程实践能力。

三、课程设计过程。

1. 需求分析。

首先,团队成员对学生成绩管理系统的功能需求进行了详细的分析和讨论,确定了系统的基本功能模块,包括学生信息管理、课程信息管理、成绩管理等。

通过需求分析,明确了系统的功能和性能需求,为后续的设计和编码工作奠定了基础。

2. 系统设计。

在需求分析的基础上,团队成员进行了系统的整体设计和模块设计。

通过UML建模工具,绘制了系统的用例图、类图、时序图等,明确了各个模块之间的关系和交互流程。

同时,团队成员还对数据库的设计进行了详细的讨论和设计,确定了数据库的表结构和字段。

3. 编码实现。

在系统设计完成后,团队成员按照设计文档进行了编码实现工作。

在编码的过程中,严格按照Java语言的规范进行编码,同时注重代码的可读性和可维护性。

通过团队的协作和沟通,确保了各个模块的功能实现和整体功能的完整性。

4. 测试与调试。

在编码实现完成后,团队成员进行了系统的测试与调试工作。

通过单元测试、集成测试和系统测试,发现并修复了系统中存在的各种问题和bug。

java课程设计报告模块设计

java课程设计报告模块设计

java课程设计报告模块设计一、教学目标本课程的教学目标是使学生掌握Java编程语言的基本语法、基本概念和基本编程方法,培养学生运用Java语言解决实际问题的能力。

具体分为以下三个部分:1.知识目标:(1)掌握Java语言的基本语法和编程规范;(2)理解Java语言的基本数据类型、运算符、控制结构、类与对象、继承与多态等概念;(3)熟悉Java语言的常用类库和API,如ng、java.util、java.io等;(4)了解Java语言的面向对象编程思想,掌握类与对象、继承与多态等概念。

2.技能目标:(1)能够使用Java语言编写简单的程序,解决实际问题;(2)掌握Java语言的编程技巧,熟练运用常用类库和API;(3)具备一定的代码阅读和调试能力,能够分析并解决编程中的问题;(4)能够运用面向对象编程思想,设计并实现具有一定复杂度的程序。

3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生主动学习和探索的热情;(2)培养学生团队合作精神,提高学生沟通与协作能力;(3)培养学生良好的编程习惯,提高学生的代码质量;(4)培养学生具备创新意识,鼓励学生独立思考和解决问题。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.Java语言的基本语法和编程规范;2.Java语言的基本数据类型、运算符、控制结构;3.类与对象、继承与多态等面向对象编程概念;4.Java语言的常用类库和API,如ng、java.util、java.io等;5.编程实践,培养学生解决实际问题的能力。

三、教学方法为了达到课程目标,本课程将采用以下教学方法:1.讲授法:教师讲解Java语言的基本语法、基本概念和基本编程方法,引导学生掌握知识要点;2.案例分析法:通过分析实际案例,让学生了解Java语言的应用场景,提高学生的编程实践能力;3.实验法:安排实验室实践环节,让学生动手编写代码,培养学生的实际编程能力;4.讨论法:学生进行小组讨论,分享学习心得和解决问题的方法,提高学生的沟通和协作能力。

Java课程设计报告模版

Java课程设计报告模版

《Java程序设计》
课程设计报告
题目 Windows操作系统计算器的
模拟实现
院系
年级班级
学号
学生姓名
指导教师
年月日
目录
一、课程设计目的、任务及要求 (1)
二、设计思路 (2)
三、详细设计 (3)
四、运行调试与分析 (4)
五、设计小结 (5)
一、课程设计目的、任务及要求
课程设计目的:
1、熟练掌握Java的swing组件或awt组件。

2、熟练掌握事件处理的方法。

课程设计任务及要求:
使用swing组件或awt组件(推荐使用swing组件)模拟实现Windows 操作系统的计算器。

具体要求如下:
1、该计算器可以进行简单的十进制数据的四则运算(加、减、乘、除)
2、该计算器可以进行二进制、八进制、十进制、十六进制之间的相互
转换。

(选做)
3、该计算器可以实现求阶乘、平方、立方、n次方、绝对值、正弦、
余弦、正切等运算。

(选做)
设计环境:
Java SE Development Kit
二、设计思路
字体为宋体小四号字,行间距为多倍1.5。

以下同.
三、详细设计
四、运行调试与分析
五、设计小结。

Java程序设计与开发课程设计

Java程序设计与开发课程设计

Java程序设计与开发课程设计1. 简介本文档是Java程序设计与开发课程设计的报告。

该课程设计旨在让学生通过Java编程实践,掌握Java程序的设计与开发流程,培养综合运用相关知识与技能解决实际问题的能力。

2. 课程设计要求本次课程设计要求学生完成一个基于Java语言开发的个人信息管理系统。

该系统应该具备以下功能:1.实现个人信息的添加、查询、修改和删除等操作;2.具备用户登录、注册、找回密码等功能;3.基于Java Swing实现图形化界面;4.应用JDBC技术实现对数据库的操作;5.系统应做好输入值的数据检验以及友好的提醒信息的输出。

3. 设计方案个人信息管理系统主要由以下四个模块组成:1.用户模块:实现用户登录、注册、找回密码等功能。

2.个人信息模块:实现个人信息的添加、查询、修改和删除等操作。

3.数据库操作模块:应用JDBC技术对数据库进行操作。

4.图形化界面模块:应用Java Swing实现图形化界面。

下面将详细介绍各模块的技术实现方案。

3.1 用户模块用户模块主要包括用户登录、注册、找回密码等功能。

用户信息应存储在数据库中,包括用户ID、用户名、密码等。

密码存储应为加密形式。

具体实现步骤如下:1.新建User类用于定义用户信息;2.实现用户登录功能:用户输入用户名和密码,程序查询数据库,若用户名和密码匹配成功,则登录成功,否则登录失败;3.实现用户注册功能:用户输入用户名、密码和确认密码,程序先检查用户名是否重复,若不重复,则将用户信息保存到数据库中;4.实现找回密码功能:用户输入用户名,程序查询数据库,若找到该用户,则将密码提示问题和答案返回给用户,用于后续修改密码。

3.2 个人信息模块个人信息模块主要实现个人信息的添加、查询、修改和删除等操作。

每个用户应该只能访问和修改自己的信息。

具体实现步骤如下:1.新建UserInfo类用于定义个人信息;2.实现添加个人信息功能:用户输入个人信息,程序将信息保存到数据库中;3.实现查询个人信息功能:用户输入查询条件,程序查询数据库,返回符合条件的个人信息;4.实现修改个人信息功能:用户输入修改后的个人信息,程序将信息保存到数据库中;5.实现删除个人信息功能:根据用户输入的ID删除对应的个人信息。

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

河南城建学院《JAVA程序设计》课程设计设计说明书课程名称:《JA VA程序设计》课程设计设计题目:学生成绩管理系统指导教师:陈红军班级:计科1班学号:081211226学生姓名:X X X同组人员:X X X X X X计算机科学与工程系2012年9月X日目录第1章选题 (2)1.1 题目背景 (2)1.2系统实现的具体分工 (2)1.2.1 选题 (2)1.2.2 团队分工 (2)1.3开发环境 (2)第2章设计内容 (3)2.1实现功能 (3)2.2 概要设计(涉及类的框图) (3)2.3 界面设计 (5)第3章系统实现 (5)3.1 涉及知识点 (5)3.2 系统运行(主要运行界面抓图) (6)3.3 源程序清单(关键代码) (10)第4章测试与实验结果 (29)第5章结束语 (29)参考文献 (30)第1章选题1.1 题目背景学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。

随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。

学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。

并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。

然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。

所以如何自动高效地管理信息是这些年来许多人所研究的。

1.2系统实现的具体分工1.2.1 选题用户可通过不同身份的登录实现不同的功能和权限。

学生身份可查询学生学籍信息,相关科目的成绩和排名,修改登录密码等功能。

教师身份可对学生学籍信息的查询,添加,修改,删除;学生成绩的录入,修改,删除,查询班级排名。

修改密码等功能。

管理员身份拥有最高的权限。

允许添加教师信息和课程信息等。

1.2.2团队分工表1.1 项目分工一览表角色姓名承担的具体任务组长xxx组员xxx组员xxx1.3开发环境编程工具:JDK+ECLIPSE机型:联想ideapad处理器名称:Intel(R)Core(TM) i3 CPU M330 @ 2.13GHz 2.13GHz硬盘驱动器:ST9320423AS系统内存:联想内存2GB显示卡:ATI Mobility Radeon HD 5650显示器:联想笔记本14英寸操作系统:Microsoft Windows 7 旗舰版第2章设计内容2.1实现功能该系统实现的大致功能:1.用户登陆界面。

该界面可以选择使用者的身份,“管理员,教师,学生”。

不同的身份有不同的操作界面和功能权限。

ID号和密码输入正确即可登录。

学生管理界面。

提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。

2.教师管理界面。

提供了对学生学籍信息的查询,添加,修改,删除;学生成绩的录入,修改,删除,查询班级排名。

修改密码等功能。

3.管理员管理界面。

拥有最高的权限。

允许添加教师信息和课程信息等。

2.2 概要设计(涉及类的框图)2.2.1 参与者类图2.2.2 关系类图2.2.3 管理员活动图2.2.4教师活动图2.2.5学生活动图2.3 界面设计第3章 系统实现3.1 涉及知识点AWT 多媒体编程,Swing 图形界面开发,java 数据库编程,java 异常处理,继承和多态等。

教师教师号教师姓名登录密码课程课程号教师号课程名称成绩学号课程号成绩学生档案性别姓名学号联系地址专业登录密码籍贯专业名称专业号专业管理员登录密码管理员ID3.2 系统运行(主要运行界面抓图)2.3.1 首页2.3.2 登陆2.3.3 教师界面2.3.5修改学生信息2.3.6 添加学生成绩2.3.8 显示学生成绩2.3.9修改密码2.3.10查询专业排名2.3.11 显示所有学生信息2.3.12 学生界面2.3.13 显示个人成绩3.3 源程序清单(关键代码)//主界面package SSS;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.*;import javax.imageio.*;import java.io.*;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;public class index extends JPanel{public static void main(String[] args) {final JFrame f_index = new JFrame("学生成绩管理系统——首页");f_index.setSize(600, 360);f_index.setLocation(200, 300);f_index.setResizable(false);JPanel p1=new JPanel();JPanel p2=new JPanel();p1.setBackground(new Color(204,204,255));p2.setBackground(new Color(204,204,255));JLabel lab_welcome=new JLabel("欢迎进入学生成绩管理系统");JButton btn_inter=new JButton("Inter(进入)");JButton btn_exist=new JButton("Exist(离开)");btn_inter.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){loginDialog ld = null;try {ld = new loginDialog();} catch (ClassNotFoundException e1) {e1.printStackTrace();} catch (SQLException e1) {e1.printStackTrace();}ld.setLocation(200,300);ld.setResizable(false);ld.setSize(600, 360);ld.setTitle("学生成绩管理系统登陆");ld.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ld.setVisible(true);f_index.setVisible(false);}});btn_exist.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});lab_welcome.setFont(new Font("宋体",Font.BOLD,25));p1.add(lab_welcome);p2.add(btn_inter,BorderLayout.CENTER);p2.add(btn_exist,BorderLayout.CENTER);f_index.getContentPane().add(p1,BorderLayout.CENTER);f_index.getContentPane().add(p2,BorderLayout.SOUTH);f_index.show();}}//登陆界面package SSS;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;class loginDialog extends JFrame implements ActionListener { JLabel labUser = new JLabel(" 学号/教师号:");JLabel labPwd = new JLabel(" 密码:");JButton btnLogin = new JButton("登录");JButton btnCancel = new JButton("取消");JTextField txtUser = new JTextField(10);JPasswordField txtPwd = new JPasswordField(10);public String zh=null;JRadioButton b=new JRadioButton("教师");JRadioButton b1=new JRadioButton("学生");JRadioButton b2=new JRadioButton("管理员");JPanel p = new JPanel();public loginDialog() throws ClassNotFoundException,SQLException{ this.setBackground(Color.black);p.setBackground(new Color(204,204,255));p.setLayout(null);labUser.setBounds(170,110,85,20);txtUser.setBounds(250,110,120,20);labPwd.setBounds(170,140,85,20);txtPwd.setBounds(250,140,120,20);btnLogin.setBounds(210, 170, 70, 20);btnCancel.setBounds(290, 170, 70, 20);b.setBounds(240,80,70,30);b1.setBounds(180,80,70,30);b2.setBounds(300,80,70,30);ButtonGroup rg=new ButtonGroup();b.setSelected(false);b1.setSelected(true);b2.setSelected(false);p.add(b); p.add(b2); rg.add(b2); rg.add(b); p.add(b1); rg.add(b1);b.setContentAreaFilled(false);b1.setContentAreaFilled(false);b2.setContentAreaFilled(false);p.add(labUser);p.add(txtUser);p.add(labPwd);p.add(txtPwd);p.add(btnLogin);p.add(btnCancel);this.getContentPane().add(p,BorderLayout.CENTER);btnLogin.addActionListener(this);btnCancel.addActionListener(this);txtUser.addActionListener(this);txtPwd.addActionListener(this);}public void actionPerformed(ActionEvent e) {Object source=e.getSource();if(b.isSelected()){if(source==txtUser) txtPwd.requestFocus();else if(source==txtPwd) btnLogin.requestFocus();else if(source==btnCancel) {txtUser.setText("");txtPwd.setText("");txtUser.requestFocus();}else if(source==btnLogin){zh=txtUser.getText();char[] passw=txtPwd.getPassword();String mima = new String(passw);try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 教师表where 教师号='"+zh+"' and密码='"+mima+"'");if(r.next()){ this.setV isible(false);String id=r.getString("教师号");String name=r.getString("姓名");String sex=r.getString("性别");String dept=r.getString("专业");String ad=r.getString("联系地址");r.close();s.close();c.close();teacherInformation tiw=new teacherInformation(id,name,sex,dept,ad);tiw.setResizable(false);tiw.setLocation(200,300);this.dispose();}else{JOptionPane.showMessageDialog( null ,"教师ID或密码有误!请重新输入!") ;}}catch(Exception e1){e1.printStackTrace();}}}else if(b1.isSelected()){if(source==txtUser) txtPwd.requestFocus();else if(source==txtPwd) btnLogin.requestFocus();else if(source==btnCancel) {txtUser.setText("");txtPwd.setText("");txtUser.requestFocus();}else if(source==btnLogin){zh=txtUser.getText();char[] passw=txtPwd.getPassword();String mima = new String(passw);try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 学生档案where学号='"+zh+"' and 密码='"+mima+"'");if(r.next()){ this.setV isible(false);String id=r.getString("学号");String name=r.getString("姓名");String sex=r.getString("性别");String dept=r.getString("专业");String ad=r.getString("联系地址");r.close();s.close();c.close();studentInformation siw=new studentInformation(id,name,sex,dept,ad);siw.setLocation(200,300);siw.setResizable(false);this.dispose();}else{JOptionPane.showMessageDialog( null ,"学号或密码有误!请重新输入!") ;}}catch(Exception e1){e1.printStackTrace();}}}}class WindowDestroyer extends WindowAdapter{public void windowClosing(WindowEvent e){System.exit(0);}}}//数据库连接package SSS;import java.awt.*;import java.sql.*;import javax.swing.*;class Database{public void Add(String xh,String xm,String xb,String bj,String fc,String jg,String bh,String mm) throws SQLException {try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 学生档案where 学号='"+xh+"'");st();if(r.getRow()==1) {JOptionPane.showMessageDialog( null ,"该学号的学生信息已存在");}else if(xh.equals("")){JOptionPane.showMessageDialog( null ,"学号不能为空");} else{s.executeUpdate(" insert into 学生档案values('"+xh+"','"+xm+"','"+xb+"','"+bj+"','"+fc+"','"+jg+"','"+bh+"','"+mm+"')");s.close();c.close();JOptionPane.showMessageDialog( null ,"<html>"+"学号:"+xh+"<br>"+"姓名:"+xm+"<br>" +"性别:"+xb+"<br>"+"专业:"+bj+"<br>"+"联系方式:"+jg+"<br>" +"联系地址:"+jg+"<br>" +"院系编号:"+jg+"<br>"+"登录密码:"+mm+"<br>学生记录添加成功!" ) ;}}catch (ClassNotFoundException e){JOptionPane.showMessageDialog( null , "数据添加异常!" ) ;}}public void DisplayAll(ResultSet r){JFrame m=new JFrame("显示所有学生信息");m.setBounds(60,70,700,600);m.setV isible(true);JTextArea aa=new JTextArea();aa.setBounds(0,0,700,600);Container c1=m.getContentPane();c1.setLayout(null);c1.add(aa);try{st();aa.append("\t学号"+"\t"+"姓名"+"\t"+"性别"+"\t"+"专业"+"\t"+"联系地址"+"\n");r.beforeFirst();while(r.next()){aa.append("第"+r.getRow()+"行记录: ");aa.append(r.getString("学号"));aa.append("\t"+r.getString("姓名"));aa.append("\t"+r.getString("性别"));aa.append("\t"+r.getString("专业"));aa.append("\t"+r.getString("联系地址")+"\n");}}catch(Exception e){e.printStackTrace();}}public void DisplayOne(String str22) throws Exception{try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select 学号,姓名,性别, 专业,联系地址from 学生档案where 学号='"+str22+"'");st();int cc=r.getRow();if(cc==0){JOptionPane.showMessageDialog( null ,"未查询到相关信息!" ) ;} else{r.beforeFirst();while(r.next()){JOptionPane.showMessageDialog( null ,"<html>"+"学号:"+r.getString("学号")+"<br>"+"姓名:"+r.getString("姓名")+"<br>"+"性别:"+r.getString("性别")+"<br>" +"专业:"+r.getString("专业")+"<br>"+"联系地址:"+r.getString("联系地址")+"<br> 已查询到相关记录!" ) ;}}}catch(Exception e){e.printStackTrace();}}public void DeleteXh(String str11){try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 学生档案,选修where 学号='"+str11+"'");st();if(r.getRow()==1){s.executeUpdate("delete from 学生档案,选修where 学号='"+str11+"'");JOptionPane.showMessageDialog( null , "学生记录删除成功!" ) ;} else{JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" );}}catch(Exception e){}}public void DeleteXm(String str13){try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 学生档案where 姓名='"+str13+"'");st();if(r.getRow()==1){s.executeUpdate("delete from 学生档案,选修where 学生档案.学号=选修.学号AND 姓名='"+str13+"'");JOptionPane.showMessageDialog( null , "学生记录删除成功!" ) ;}else{JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;}}catch(Exception e){}}public void UpdateXh(String xg,String str15,String str16){try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 学生档案where 学号='"+xg+"'");st();if(r.getRow()==1){s.executeUpdate("update 学生档案set "+str15+"='"+str16+"' where 学号='"+xg+"'");JOptionPane.showMessageDialog( null , "学生记录修改成功!" ) ;} else{JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;}}catch(Exception e){JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;}}public void UpdateXm(String str18,String str19,String str20){try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 学生档案where 姓名='"+str18+"'");st();if(r.getRow()==1){s.executeUpdate("update 学生档案set "+str19+"='"+str20+"' where 姓名='"+str18+"'");JOptionPane.showMessageDialog( null , "学生记录修改成功!" ) ;}else{JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;}}catch(Exception e){JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;}}public void AddScore(String xh,String kch, String cj){try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);if(xh.equals("")||kch.equals("")||cj.equals("")){JOptionPane.showMessageDialog( null ,"输入框不允许为空");}else{ResultSet r=s.executeQuery("select * from 选修where 学号='"+xh+"' and 课程编号='"+kch+"'");st();int i=Integer.parseInt(cj);if(r.getRow()==1){JOptionPane.showMessageDialog( null ,"该学生该科成绩已存在");}else{s.executeUpdate("insert into选修values ('"+xh+"','"+kch+"','"+i+"')");JOptionPane.showMessageDialog(null,"<html>"+"学号:"+xh+"<br>"+"课程编号:"+kch+"<br>"+"分数:"+cj+"<br> 学生成绩添加成功!" ) ;}}}catch (Exception e){JOptionPane.showMessageDialog( null , "成绩输入的学号或者课程号不存在!" ) ;}}public void UpdateScore(String xh,String kch,String cj){try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);if(xh.equals("")||kch.equals("")||cj.equals("")){JOptionPane.showMessageDialog( null ,"输入框不允许为空");}else{int i=Integer.parseInt(cj);ResultSet r=s.executeQuery("select * from 选修where 学号='"+xh+"' and 课程编号='"+kch+"'");st();if(r.getRow()==1){s.executeUpdate("update选修set分数='"+i+"' where 学号='"+xh+"' and 课程编号='"+kch+"'");JOptionPane.showMessageDialog( null , "学生成绩修改成功!" ) ;}else{JOptionPane.showMessageDialog( null ,"成绩表中并无相关记录!" ) ;}}}catch(Exception e){JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;}}public void DeleteScore(String xh,String kch){try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 选修where 学号='"+xh+"' and 课程编号='"+kch+"'");st();if(r.getRow()==1){s.executeUpdate("delete 分数from 选修where学号='"+xh+"' and 课程编号='"+kch+"'");JOptionPane.showMessageDialog( null , "学生记录删除成功!" ) ;}else {JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" );}}catch(Exception e){ }}public void SearchScore(String xh){JFrame m=new JFrame("学号"+xh+"的各科成绩");m.setBounds(60,70,326,320);m.setV isible(true);JTextArea aa=new JTextArea();aa.setBounds(0,0,326,320);Container c1=m.getContentPane();c1.setLayout(null);c1.add(aa);try {Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r1= s.executeQuery("select 学号,课程名称,分数from 选修,课程join 课程on 选修.课程编号=课程.课程编号" +" where 学号='"+xh+"'");st();aa.append("查询到该学生"+r1.getRow()+"科成绩"+"\n");r1.beforeFirst();aa.append("学号"+"\t"+"课程名称"+"\t"+"分数"+"\n");while(r1.next()){aa.append(r1.getString("学号"));aa.append("\t "+r1.getString("课程名称"));aa.append("\t "+r1.getString("分数")+"\n");}}catch(Exception e){e.printStackTrace();}}public void ListAll(String yx){JFrame m=new JFrame(yx+"成绩排名");m.setBounds(60,70,413,319);m.setV isible(true);JTextArea aa=new JTextArea();aa.setBounds(0,0,413,319);Container c1=m.getContentPane();c1.setLayout(null);c1.add(aa);try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s = c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);String sql="execute 专业排名'"+yx+"'";ResultSet r1= s.executeQuery(sql);st();aa.append("\t学号"+"\t"+"姓名"+"\t"+"平均分"+"\t"+"总分"+"\n");r1.beforeFirst();for(int i=1;r1.next();i++) {aa.append ("第"+i+"名:");aa.append (r1.getString("学号"));aa.append ("\t"+r1.getString("姓名"));aa.append ("\t"+r1.getString("平均分"));}}catch(Exception e){e.printStackTrace();}}//学生界面package SSS;import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class studentInformation extends JFrame{JLabel id;JLabel idi;JLabel name;JLabel namei;JFrame ti;String sid;String sname;String ssex;String sdept;String sad;public studentInformation(final String sid,String sname,String ssex,final String sdept,String sad){ this.sid=sid;this.sname=sname;this.ssex=ssex;this.sdept=sdept;this.sad=sad;ti=new JFrame("学生成绩管理系统——学生");this.setResizable(false);ti.setSize(600,420);ti.setVisible(true);ti.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p=new JPanel();ti.getContentPane().add(p,BorderLayout.CENTER);p.setBackground(new Color(204,204,255));p.setLayout(null);JLabel aaa=new JLabel("学生成绩查询:");JButton b8=new JButton("查询个人成绩");b8.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){showpersonalscore sps=new showpersonalscore(sid);}});b8.setBounds(50,60,140,30);JButton b9=new JButton("所有成绩排名");b9.setBounds(50,120,140,30);b9.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Database db=new Database();db.ListAll(sdept);}});JButton b12=new JButton("单科成绩排名");b12.setBounds(50,180,140,30);b12.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Database db=new Database();db.notfinish();}});JButton b10=new JButton("退出系统");b10.setBounds(50,300,140,30);JButton b11=new JButton("修改密码");b11.setBounds(50,240,140,30);aaa.setBounds(50,10,90,30);JLabel l1=new JLabel("个人信息:");l1.setBounds(400,10,140,30);JLabel l2=new JLabel("学号:"+sid);l2.setBounds(400,40,140,30);JLabel l3=new JLabel("姓名:"+sname);l3.setBounds(400,110,140,30);JLabel l4=new JLabel("性别:"+ssex);l4.setBounds(400,180,140,30);JLabel l5=new JLabel("专业:"+sdept);l5.setBounds(400,250,140,30);JLabel l6=new JLabel("联系方式::"+sad);l6.setBounds(400,320,140,30);p.add(l1);p.add(l2);p.add(l3);p.add(l4);p.add(l5);p.add(l6);p.add(b8);p.add(b9);p.add(b10);p.add(aaa);p.add(b11);p.add(b12);b10.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});b11.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){updatemima um=new updatemima("学生档案",sid,"学号");}});}//教师节面package SSS;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;public class teacherInformation extends JFrame{JLabel id;JLabel idi;JLabel name;JLabel namei;JFrame ti;String sid;String sname;String ssex;String sdept;String sad;public teacherInformation(final String sid,String sname,String ssex,final String sdept,String sad){ this.sid=sid;this.sname=sname;this.ssex=ssex;this.sdept=sdept;this.sad=sad;ti=new JFrame("学生成绩管理系统——教师");this.setResizable(false);ti.setSize(600,420);ti.setVisible(true);ti.setLocation(200,300);ti.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel p=new JPanel();ti.getContentPane().add(p,BorderLayout.CENTER);p.setBackground(new Color(204,204,255));p.setLayout(null);JLabel aaa=new JLabel("学生信息管理:");JLabel aaa1=new JLabel("学生成绩管理:");JButton b1=new JButton("显示学生信息");b1.setBounds(40,45,140,30);b1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Database db=new Database();try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=学生信息管理系统","sa","kangkaihang9087");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDA TABLE);ResultSet r=s.executeQuery("select * from 学生档案");db.DisplayAll(r);}catch(Exception e1){e1.printStackTrace();}b2.setBounds(200,45,140,30);b2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){try {addstudent ast=new addstudent();}catch(Exception e1){e1.printStackTrace();}}});JButton b3=new JButton("修改学生信息");b3.setBounds(40,90,140,30);b3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){updatestudent upt=new updatestudent();}});JButton b4=new JButton("删除学生信息");b4.setBounds(200,90,140,30);b4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deletestudent ds=new deletestudent();}});JButton b5=new JButton("录入学生成绩");b5.setBounds(40,170,140,30);b5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){addstudentscore as=new addstudentscore();}});JButton b6=new JButton("修改学生成绩");b6.setBounds(200,170,140,30);b6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){updatestudentscore as=new updatestudentscore();}});JButton b7=new JButton("删除学生成绩");b7.setBounds(40,215,140,30);b7.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){deletestudentscore as=new deletestudentscore();。

相关文档
最新文档