java查询学习成绩_学习成绩管理java课程设计 - CSDN
  • java学生成绩管理系统

    2017-06-19 14:29:21
    *@name:java学生成绩管理系统. *@功能:学生相关信息,录入,查询,统计,修改等.... *@PS:图形界面的学生管理系统不要求就不做了. */ import java.util.Scanner; import java.lang.*; import ja
    /*
     *@copyright by LzyRapx on 2016/4/12.
     *@name:java学生成绩管理系统.
     *@功能:学生相关信息,录入,查询,统计,修改等....
     *@PS:图形界面的学生管理系统不要求就不做了.
     */
    
    import java.util.Scanner;
    import java.lang.*;
    import java.io.*;
    class Student
    {
    	private static Student[] s=new Student[100]; //录入学生上限
        int n=0;
    	private String name;
    	private int num;
    	private String classAge;
    	private int chinese;
    	private int  math;
    	private int english;
    	
    	//判断是否有录入学生信息
    	public void judge() throws IOException
    	{
    		int i;
    		char ch;
    		String str;
    		Scanner In=new Scanner(System.in);
    		if(n==0)
    		{
    			System.out.println("你还没有录入任何学生信息,是否录入(Y/N):");
    			str=In.next();
    			ch=str.charAt(0);
    			while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
    			{
    				System.out.println("输入有误,请重新输入:");
    				str=In.next();
    				ch=str.charAt(0);
    			}
    			if(ch=='Y'||ch=='y')
    			{
    				this.add();
    			}
    			if(ch=='N'||ch=='n')
    			{
    				this.menu();
    			}
    		}
    	}
    
    	//菜单
    	public void menu() throws IOException  //将异常抛出,调用这个方法去处理异常,如果main方法也将异常抛出,则交给Java虚拟机来处理,下同.
    	{
    		int a;
    		Scanner in=new Scanner(System.in);
    		System.out.println("*************学生信息管理系统*************");
    		System.out.println("*****        1.录入学生信息            ******");
    		System.out.println("*****        2.显示学生信息            ******");
    		System.out.println("*****        3.修改学生信息            ******");
    		System.out.println("*****        4.删除学生信息            ******");
    		System.out.println("*****        5.查看学生信息            ******");
    		System.out.println("*****        0.退出管理系统            ******");
    		System.out.println("******************************************");
    		System.out.print("请选择(0~5):");
    		a=in.nextInt();
    		while(a<0||a>5)
    		{
    			System.out.print("输入无效,请重新输入:");
    			a=in.nextInt();
    		}
    		switch(a)
    		{
    			case 1:this.add();break;
    			case 2:this.show();break;
    			case 3:this.modif();break;
    			case 4:this.delete();break;
    			case 5:this.look();break;
    			case 0:System.out.println("成功退出系统!!!");System.exit(0);break;
    		}			
    	}
    	
    	//录入学生信息
    	public void add() throws IOException
    	{
    		String str,str1,str2;
    		int i,num1,t=1;
    		char ch,ch1;
    		FileWriter fw=new FileWriter("E://student.txt",true);   //将学生信息录入指定的txt文件中
    		
    		fw.write("             录入的学生信息列表\r\n\r\n学号    姓名    班级    语文成绩      数学成绩    英语成绩\r\n");
    		Scanner In=new Scanner(System.in);
    		while(t==1)
    		{
    			System.out.println("请输入学生学号:");
    			num1=In.nextInt();
    			
    			//判断学号是否重复
    			for(i=0;i<n;i++)
    			{
    				while(s[i].num==num1)
    				{
    					System.out.println("已存在此学号,请重新输入");
    					System.out.print("请输入学号:");
    					num1=In.nextInt();
    				}
    			}
    			s[n].num=num1;
    			str2=String.valueOf(num1);
    			fw.write(str2+"    ");
    			System.out.println();
    			System.out.println("请输入学生姓名:");
    			s[n].name=In.next();
    			fw.write(s[n].name+"      ");
    			System.out.println();
    			System.out.println("请输入学生班级:");
    			s[n].classAge=In.next();
    			fw.write(s[n].classAge+"  ");
    			System.out.println("请输入学生语文成绩:");
    			s[n].chinese=In.nextInt();
    			fw.write(s[n].chinese+"  ");                   
    			System.out.println("请输入学生数学成绩:");
    			s[n].math=In.nextInt();
    			fw.write(s[n].chinese+"  ");
    			System.out.println("请输入学生英语成绩:");
    			s[n].english=In.nextInt();
    			fw.write(s[n].english+"\r\n");
    			++n;
    			fw.close();	
    			System.out.println();
    			System.out.println("是否继续添加(Y/N)");
    			str=In.next();
    			ch=str.charAt(0);
    			while(ch!='N'&&ch!='n'&&ch!='Y'&&ch!='y')
    			{
    				System.out.println("输入无效,请重新输入:");
    				str=In.next();
    				ch=str.charAt(0);
    			}
    			if(ch=='N'||ch=='n')
    			{
    				break;
    			}
    		}
    		System.out.println();
    		System.out.print("是否返回系统主菜单(Y/N)");
    		str1=In.next();
    		ch1=str1.charAt(0);
    		while(ch1!='Y'&&ch1!='y'&&ch1!='N'&&ch1!='n')
    		{
    			System.out.println("输入无效,请重新输入:");
    			str1=In.next();
    			ch1=str1.charAt(0);
    		}
    		if(ch1=='Y'||ch1=='y')
    		{
    			this.menu();
    		}
    		if(ch1=='N'||ch1=='n')
    		{
    			System.out.println("");
    			System.out.println("你已退出系统!!!");
    			System.exit(0);
    		}
    	}
    
    	//显示学生信息
    	public void show() throws IOException
    	{
    		int i;
    		this.judge();	
    		System.out.println("本次操作共录入"+n+"位学生!");
    		System.out.println("你录入的学生信息如下:");
    		System.out.println();
    		System.out.println("学号\t姓名\t班级\t语文\t数学\t英语");
    		for(i=0;i<n;i++)                        
    		{
    			System.out.println(s[i].num+"      "+s[i].name+"     "+s[i].classAge+"     "+s[i].chinese+"      "+s[i].math+"     "+s[i].english);
    		}
    		System.out.println("系统返回主菜单!");
    		this.menu();
    	}
    	
    	//删除学生信息
    	public void delete() throws IOException
    	{
    		this.judge();
    		int j=0,t=0,k=0,num1;
    		char ch;
    		String str;
    		Scanner pin=new Scanner(System.in);
    		System.out.println("请输入要删除的学号:");
    		num1=pin.nextInt();
    		for(j=0;j<n;j++)
    		{
    			if(s[j].num==num1)
    			{
    				k=1;
    				t=j;
    			}
    		}
    		if(k==0)
    		{
    			System.out.println("对不起!你要删除的学号不存在!");
    			System.out.println("系统将返回主菜单!");
    			this.menu();
    		}
    		if(k==1)
    		{
    			System.out.println("你要删除的学生信息如下:");//打印管理员要删除的学生信息
    			System.out.println("学号\t姓名\t班级");//本功能暂时不备扩展性
    			System.out.println(s[t].num+"      "+s[t].name+"      "+s[t].classAge);
    			System.out.println();
    			System.out.println("你确定要删除(Y/N):");
    			str=pin.next();
    			ch=str.charAt(0);
    			while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
    			{
    				System.out.println("输入无效,请重新输入:");
    				str=pin.next();
    				ch=str.charAt(0);
    			}
    			if(ch=='N'||ch=='n')
    			{
    				System.out.println();
    				System.out.println("系统返回主菜单!");
    				this.menu();
    			}
    			if(ch=='Y'||ch=='y')
    			{
    				for(j=t;j<n-1;j++)
    				{
    					s[j]=s[j+1];
    				}
    				n--;
    				System.out.println("学生数据成功删除!");
    				System.out.println("系统返回主菜单!");
    				this.menu();
    			}
    		}
    	}
    	//查看学生信息
    	public void look() throws IOException 
    	{
    		FileReader fr=new FileReader("E://student.txt");  //查看txt中的学生信息
    		int a;
    		while((a=fr.read())!=-1)
    		{
    			System.out.print((char)a);
    		}
    		fr.close();
    		System.out.println("系统返回主菜单!");
    		System.out.println();
    		this.menu();
    	}
    	
    	//修改学生信息
    	public void modif() throws IOException
    	{
    		this.judge();
    		int j=0,t=0,k=0,num2,num3,moi,c=1;
    		char ch;
    		String str,str1,str2;
    		Scanner pin=new Scanner(System.in);
    		System.out.println("请输入要修改的学号:");
    		num2=pin.nextInt();
    		for(j=0;j<n;j++)
    		{
    			if(s[j].num==num2)
    			{
    				k=1;
    				t=j;
    			}
    		}
    		if(k==0)
    		{
    			System.out.println("对不起!你要修改的学号不存在!");
    			System.out.println("系统将返回主菜单!");
    			this.menu();
    		}
    		if(k==1)
    		{
    			//打印将要要删除的学生信息
    			System.out.println("你要修改的学生信息如下:");
    			System.out.println("学号\t姓名\t班级");
    			System.out.println(s[t].num+"      "+s[t].name+"      "+s[t].classAge);
    			System.out.println("语文\t数学\t英语");
    			System.out.println(s[t].chinese+"      "+s[t].math+"      "+s[t].english);
    			System.out.println();
    			System.out.println("你确定要修改(Y/N):");
    			str=pin.next();
    			ch=str.charAt(0);
    			while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
    			{
    				System.out.println("输入无效,请重新输入:");
    				str=pin.next();
    				ch=str.charAt(0);
    			}
    			if(ch=='N'||ch=='n')
    			{
    				System.out.println();
    				System.out.println("系统返回主菜单!");
    				this.menu();
    			}
    			while(c==1)
    			{
    				if(ch=='Y'||ch=='y')
    				{
    					System.out.println("****************************************");
    					System.out.println("*****         1.修改学号           *****");
    					System.out.println("*****         2.修改班级           *****");
    					System.out.println("*****         3.修改姓名           *****");
    					System.out.println("****************************************");
    					System.out.println("请选择:");
    					moi=pin.nextInt();
    					switch(moi)
    					{
    						case 1:System.out.print("请输入新的学号:");num3=pin.nextInt();s[t].num=num3;break;
    						case 2:System.out.print("请输入新的班级:");str1=pin.next();s[t].classAge=str1;break;
    						case 3:System.out.print("请输入新的姓名:");str2=pin.next();s[t].name=str2;break;
    					}
    					System.out.println("数据已成功修改!");
    				}
    				System.out.print("是否继续修改(Y/N)");
    				str=pin.next();
    				ch=str.charAt(0);
    				System.out.println();
    				while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
    				{
    					System.out.print("输入无效,请重新输入:");
    					str=pin.next();
    					ch=str.charAt(0);
    				}
    				if(ch=='N'||ch=='n')
    				{
    					break;
    				}
    			}	
    		}
    		System.out.println();
    		System.out.println("系统返回主菜单!");
    		this.menu();
    	}
    	
    	public static void main(String[] args) throws IOException
    	{	
    		Student stu=new Student();
    		for(int i=0;i<100;i++)
    		{
    			s[i]=new Student();
    		}
    		stu.menu();
    	}
    }
    

    部分效果图:





    若转载,请注明出处。谢谢!

    展开全文
  • Java课程设计之学习成绩管理系统

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    package System;import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.table.AbstractTableModel;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableCellRenderer;import javax.swing.table.TableColumn;public class main extends JFrame implements ActionListener, MouseListener{ String FileName = "D:\\Jworkspace\\学生管理系统\\src\\information.txt"private JMenuBar typeMenu; private JMenu file, display, edit, help, sort,delete,alter,add,subject,search,ratio,avg,pie,histogram; private JMenuItem seeItem,addClass,addStudent,pageone,exit,alterName,alterID,                   deleteID,deleteName,deleteClass,deleteSex,deleteAge,deleteCollage,                   searchID,searchName,searchClass,searchSex,searchAge,searchCollage,                    ID, age, software,math, system, java,                   pieMath,pieSystem,pieJava,pieSoftware,                   histogramMath,histogramSystem,histogramSoftware,histogramJava,                   totalGrade,helpItem,avgMath,avgJava,avgSystem,avgSoftware; private CardLayout cardl; private TableColumn col1,col2,col3,col4,col5,col6,col7,col8,col9,col10; private JPanel card,jpSee,jpAddStudent,jpAlterByID,jpAlterByName, jpMain,jpSearch,jphelp; private JTable jtable; private JLabel jl,jlAdd1, jlAdd2, jlAdd3, jlAdd4, jlAdd5, jlAdd6, jlAdd7, jlAdd8, jlAdd9, jlAdd10, jlAdd11, jlAdd12,jlAdd13,                 jlMain1, jlMain2,                jlAlter1,jlAlter2,jlAlter3,jlAlter4,jlAlter5,jlAlter6,jlAlter7; private JTextField jtAddClass, jtAddID, jtAddName, jtAddAge,jtAddCollage, jtAddSoftware, jtAddMath, jtAddSystem, jtAddJava,                    jtAlterID,jtAlterName,jtAlterAge,jtAlterClass,jtAlterCollage,jtAlterMath,jtAlterSoftware,jtAlterJava,jtAlterSystem,                    jtAlterID2,jtAlterName2,jtAlterAge2,jtAlterClass2,jtAlterCollage2,jtAlterMath2,jtAlterSoftware2,jtAlterJava2,jtAlterSystem2; private JRadioButton jr_man, jr_woman,jr_man2, jr_woman2; private ButtonGroup sexgroup,sexgroup2; private JButton jbAddSure,jbAlterSure,jbAlterSure2; private int row; private String[] collage = { "信息学院", "信电学院", "土建学院", "地质学院", "经管学院", "外国语学院", "化工学院" }; private String[] class1 = { "计算机09-1", "计算机09-2", "计算机09-3", "网络", "软件", "电科" }; private JScrollPane js;    private String[][] student = new String [100][25];; public main() {  Container c = getContentPane();  c.setLayout(null);  typeMenu = new JMenuBar();// 应用程序菜单的容器  setJMenuBar(typeMenu);  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  // 菜单Display  file = new JMenu("系统");  file.setFont(new Font("宋体", Font.PLAIN, 14));  typeMenu.add(file);  // 菜单Display  display = new JMenu("查看");  display.setFont(new Font("宋体", Font.PLAIN, 14));  typeMenu.add(display);  // 菜单Edit  edit = new JMenu("编辑信息");  edit.setFont(new Font("宋体", Font.PLAIN, 14));  typeMenu.add(edit);  // 菜单Sort  sort = new JMenu("排序");  sort.setFont(new Font("宋体", Font.PLAIN, 14));  typeMenu.add(sort);  //菜单avg  avg = new JMenu("平均分");  avg.setFont(new Font("宋体", Font.PLAIN, 14));  typeMenu.add(avg);  // 菜单ratio  ratio = new JMenu("比例图");  ratio.setFont(new Font("宋体", Font.PLAIN, 14));  typeMenu.add(ratio);  // 菜单Help  help = new JMenu("Help");  help.setFont(new Font("宋体", Font.PLAIN, 14));  typeMenu.add(help);  //Help  helpItem = new JMenuItem("Help");  helpItem.setFont(new Font("宋体", Font.PLAIN, 14));  help.add(helpItem);  helpItem.addActionListener(this);  helpItem.setActionCommand("帮助");  // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //首页  pageone = new JMenuItem("首页");  pageone.setFont(new Font("宋体", Font.PLAIN, 14));  file.add(pageone);  pageone.addActionListener(this);  pageone.setActionCommand("首页");  file.addSeparator();  //退出  exit = new JMenuItem("退出");  exit.setFont(new Font("宋体", Font.PLAIN, 14));  file.add(exit);  exit.addActionListener(this);  exit.setActionCommand("退出");     //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //查看  seeItem  = new JMenuItem("查看");  seeItem.setFont(new Font("宋体", Font.PLAIN, 14));  display.add(seeItem);  seeItem.addActionListener(this);  seeItem.setActionCommand("查看");  // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //删除  delete = new JMenu("删除");  delete.setMnemonic(KeyEvent.VK_D);  delete.setFont(new Font("宋体", Font.PLAIN, 14));  edit.add(delete);  delete.addActionListener(this);  delete.setActionCommand("删除");  edit.addSeparator();  //按学号删除  deleteID = new JMenuItem("按学号删除");  deleteID.setFont(new Font("宋体", Font.PLAIN, 13));  delete.add(deleteID);  deleteID.addActionListener(this);  deleteID.setActionCommand("按学号删除");  delete.addSeparator();  //按姓名删除  deleteName = new JMenuItem("按姓名删除");  deleteName.setFont(new Font("宋体", Font.PLAIN, 13));  delete.add(deleteName);  deleteName.addActionListener(this);  deleteName.setActionCommand("按姓名删除");  delete.addSeparator();  //按学院删除  deleteCollage = new JMenuItem("按学院删除");  deleteCollage.setFont(new Font("宋体", Font.PLAIN, 13));  delete.add(deleteCollage);  deleteCollage.addActionListener(this);  deleteCollage.setActionCommand("按学院删除");  delete.addSeparator();  //按班级删除  deleteClass = new JMenuItem("按班级删除");  deleteClass.setFont(new Font("宋体", Font.PLAIN, 13));  delete.add(deleteClass);  deleteClass.addActionListener(this);  deleteClass.setActionCommand("按班级删除");  delete.addSeparator();  //按性别删除  deleteSex = new JMenuItem("按性别删除");  deleteSex.setFont(new Font("宋体", Font.PLAIN, 13));  delete.add(deleteSex);  deleteSex.addActionListener(this);  deleteSex.setActionCommand("按性别删除");  delete.addSeparator();  //按年龄删除  deleteAge = new JMenuItem("按年龄删除");  deleteAge.setFont(new Font("宋体", Font.PLAIN, 13));  delete.add(deleteAge);  deleteAge.addActionListener(this);  deleteAge.setActionCommand("按年龄删除");  //添加  add = new JMenu("添加");  add.setMnemonic(KeyEvent.VK_A);  add.setFont(new Font("宋体", Font.PLAIN, 14));  edit.add(add);  edit.addSeparator();  add.addActionListener(this);  add.setActionCommand("添加");//  //按学号添加//  addClass = new JMenuItem("添加班级");//  addClass.setFont(new Font("宋体", Font.PLAIN, 13));//  add.add(addClass);//  addClass.addActionListener(this);//  addClass.setActionCommand("添加班级");//  add.addSeparator();  //添加学生  addStudent = new JMenuItem("添加学生");  addStudent.setFont(new Font("宋体", Font.PLAIN, 13));  add.add(addStudent);  addStudent.addActionListener(this);  addStudent.setActionCommand("添加学生");  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //修改  alter = new JMenu("修改");  alter.setMnemonic(KeyEvent.VK_A);  alter.setFont(new Font("宋体", Font.PLAIN, 14));  edit.add(alter);  alter.addActionListener(this);  alter.setActionCommand("修改");  edit.addSeparator();  //按学号修改  alterID = new JMenuItem("按学号修改");  alterID.setFont(new Font("宋体", Font.PLAIN, 13));  alter.add(alterID);  alterID.addActionListener(this);  alterID.setActionCommand("按学号修改");  alter.addSeparator();  //按姓名修改  alterName = new JMenuItem("按姓名修改");  alterName.setFont(new Font("宋体", Font.PLAIN, 13));  alter.add(alterName);  alterName.addActionListener(this);  alterName.setActionCommand("按姓名修改");  //查询  search = new JMenu("查询");  search.setFont(new Font("宋体", Font.PLAIN, 14));  edit.add(search);  search.addActionListener(this);  search.setActionCommand("查询");  //按学号查询  searchID = new JMenuItem("按学号查询");  searchID.setFont(new Font("宋体", Font.PLAIN, 13));  search.add(searchID);  searchID.addActionListener(this);  searchID.setActionCommand("按学号查询");  search.addSeparator();  //姓名查询  searchName = new JMenuItem("按姓名查询");  searchName.setFont(new Font("宋体", Font.PLAIN, 13));  search.add(searchName);  searchName.addActionListener(this);  searchName.setActionCommand("按姓名查询");  search.addSeparator();  //按学院查询  searchCollage = new JMenuItem("按学院查询");  searchCollage.setFont(new Font("宋体", Font.PLAIN, 13));  search.add(searchCollage);  searchCollage.addActionListener(this);  searchCollage.setActionCommand("按学院查询");  search.addSeparator();  //按班级查询  searchClass = new JMenuItem("按班级查询");  searchClass.setFont(new Font("宋体", Font.PLAIN, 13));  search.add(searchClass);  searchClass.addActionListener(this);  searchClass.setActionCommand("按班级查询");  search.addSeparator();  //按性别查询  searchSex = new JMenuItem("按性别查询");  searchSex.setFont(new Font("宋体", Font.PLAIN, 13));  search.add(searchSex);  searchSex.addActionListener(this);  searchSex.setActionCommand("按性别查询");  search.addSeparator();  //按年龄查询  searchAge = new JMenuItem("按年龄查询");  searchAge.setFont(new Font("宋体", Font.PLAIN, 13));  search.add(searchAge);  searchAge.addActionListener(this);  searchAge.setActionCommand("按年龄查询");  // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //排序  //按学号排序  ID = new JMenuItem("按学号排序");  ID.setFont(new Font("宋体", Font.PLAIN, 14));  sort.add(ID);  sort.addSeparator();  ID.addActionListener(this);  ID.setActionCommand("按学号排序");  //按年龄排序  age = new JMenuItem("按年龄排序");  age.setFont(new Font("宋体", Font.PLAIN, 14));  sort.add(age);  sort.addSeparator();  age.addActionListener(this);  age.setActionCommand("按年龄排序");  //按总成绩排序  totalGrade  = new JMenuItem("按总成绩排序");  totalGrade.setFont(new Font("宋体", Font.PLAIN, 14));  sort.add(totalGrade);  sort.addSeparator();  totalGrade.addActionListener(this);  totalGrade.setActionCommand("按总成绩排序");  //按单科成绩排序  subject = new JMenu("按单科成绩排序");  subject.setFont(new Font("宋体", Font.PLAIN, 14));  sort.add(subject);  //按数学排序  math = new JMenuItem("按数学排序");  math.setFont(new Font("宋体", Font.PLAIN, 14));  subject.add(math);  math.addActionListener(this);  math.setActionCommand("按数学排序");  subject.addSeparator();  //按Java排序  java = new JMenuItem("按Java排序");  java.setFont(new Font("宋体", Font.PLAIN, 14));  subject.add(java);  java.addActionListener(this);  java.setActionCommand("按Java排序");  subject.addSeparator();  //按软件工程排序  software = new JMenuItem("按软件工程排序");  software.setFont(new Font("宋体", Font.PLAIN, 14));  subject.add(software);  software.addActionListener(this);  software.setActionCommand("按软件工程排序");  subject.addSeparator();  //按操作系统排序  system = new JMenuItem("按操作系统排序");  system.setFont(new Font("宋体", Font.PLAIN, 14));  subject.add(system);  system.addActionListener(this);  system.setActionCommand("按操作系统排序");  // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //课程平均分  //求数学平均分  avgMath = new JMenuItem("求数学平均分");  avgMath.setFont(new Font("宋体", Font.PLAIN, 14));  avg.add(avgMath);  avgMath.addActionListener(this);  avgMath.setActionCommand("求数学平均分");  avg.addSeparator();  //求Java平均分  avgJava = new JMenuItem("求Java平均分");  avgJava.setFont(new Font("宋体", Font.PLAIN, 14));  avg.add(avgJava);  avgJava.addActionListener(this);  avgJava.setActionCommand("求Java平均分");  avg.addSeparator();  //求软件工程平均分  avgSoftware = new JMenuItem("求软件工程平均分");  avgSoftware.setFont(new Font("宋体", Font.PLAIN, 14));  avg.add(avgSoftware);  avgSoftware.addActionListener(this);  avgSoftware.setActionCommand("求软件工程平均分");  avg.addSeparator();  //求操作系统平均分  avgSystem = new JMenuItem("求操作系统平均分");  avgSystem.setFont(new Font("宋体", Font.PLAIN, 14));  avg.add(avgSystem);  avgSystem.addActionListener(this);  avgSystem.setActionCommand("求操作系统平均分");  //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //饼形图  pie = new JMenu("饼形图");  pie.setFont(new Font("宋体", Font.PLAIN, 14));  ratio.add(pie);  pie.addActionListener(this);  pie.setActionCommand("饼形图");  ratio.addSeparator();  //Math柱形图  pieMath = new JMenuItem("Math");  pieMath.setFont(new Font("宋体", Font.PLAIN, 14));  pie.add(pieMath);  pieMath.addActionListener(this);  pieMath.setActionCommand("Math饼形图");  pie.addSeparator();  //Java柱形图  pieJava = new JMenuItem("Java");  pieJava.setFont(new Font("宋体", Font.PLAIN, 14));  pie.add(pieJava);  pieJava.addActionListener(this);  pieJava.setActionCommand("Java饼形图");  pie.addSeparator();  //System柱形图  pieSystem = new JMenuItem("System");  pieSystem.setFont(new Font("宋体", Font.PLAIN, 14));  pie.add(pieSystem);  pieSystem.addActionListener(this);  pieSystem.setActionCommand("System饼形图");  pie.addSeparator();  //Software柱形图  pieSoftware = new JMenuItem("Software");  pieSoftware.setFont(new Font("宋体", Font.PLAIN, 14));  pie.add(pieSoftware);  pieSoftware.addActionListener(this);  pieSoftware.setActionCommand("Software饼形图");  //柱形图  histogram = new JMenu("柱形图");  histogram.setFont(new Font("宋体", Font.PLAIN, 14));  ratio.add(histogram);  histogram.addActionListener(this);  histogram.setActionCommand("柱形图");  //Math柱形图  histogramMath = new JMenuItem("Math");  histogramMath.setFont(new Font("宋体", Font.PLAIN, 14));  histogram.add(histogramMath);  histogramMath.addActionListener(this);  histogramMath.setActionCommand("Math柱形图");  histogram.addSeparator();  //Java柱形图  histogramJava = new JMenuItem("Java");  histogramJava.setFont(new Font("宋体", Font.PLAIN, 14));  histogram.add(histogramJava);  histogramJava.addActionListener(this);  histogramJava.setActionCommand("Java柱形图");  histogram.addSeparator();  //System柱形图  histogramSystem = new JMenuItem("System");  histogramSystem.setFont(new Font("宋体", Font.PLAIN, 14));  histogram.add(histogramSystem);  histogramSystem.addActionListener(this);  histogramSystem.setActionCommand("System柱形图");  histogram.addSeparator();  //Software柱形图  histogramSoftware = new JMenuItem("Software");  histogramSoftware.setFont(new Font("宋体", Font.PLAIN, 14));  histogram.add(histogramSoftware);  histogramSoftware.addActionListener(this);  histogramSoftware.setActionCommand("Software柱形图");  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  cardl = new CardLayout();  card = new JPanel();  card.setBounds(0, 0, 650, 400);  card.setOpaque(false);  card.setLayout(cardl);  jpSearch = new JPanel();  jpMain = new JPanel();  jpAddStudent = new JPanel();  jpAlterByID = new JPanel();  jpAlterByName = new JPanel();  jpSee = new JPanel();  jphelp = new JPanel();      card.add("首页", jpMain);  card.add("按班级查询",jpSearch);  card.add("添加学生", jpAddStudent);  card.add("按姓名修改", jpAlterByName);  card.add("按学号修改", jpAlterByID);  card.add("查看", jpSee);  card.add("帮助", jphelp);  c.add(card);  // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //首页  jpMain.setLayout(null);  jlMain1 = new JLabel();  jlMain1.setText("欢迎来到学生成绩管理系统");  jlMain1.setBounds(150, 100, 300, 40);  jlMain1.setFont(new Font("宋体", Font.PLAIN, 25));  jlMain1.setForeground(Color.black);  jpMain.add(jlMain1);  jlMain2 = new JLabel();  jlMain2.setText("管理员:xiaosi");  jlMain2.setBounds(230, 150, 300, 40);  jlMain2.setFont(new Font("宋体", Font.PLAIN, 20));  jlMain2.setForeground(Color.black);  jpMain.add(jlMain2);  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //帮助  jphelp.setLayout(null);  // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  jpAlterByID.setLayout(null);  //按学号修改  jlAlter1 = new JLabel();  jlAlter1.setText("按学号修改");  jlAlter1.setBounds(200, 20, 170, 20);  jlAlter1.setFont(new Font("宋体", Font.PLAIN, 20));  jpAlterByID.add(jlAlter1);  jlAlter2 = new JLabel();  jlAlter2.setBounds(20, 70, 200, 20);  jlAlter2.setText("*请输入要修改学生的学号:");  jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter2);  //要修改学生的学号  jtAlterID = new JTextField();  jtAlterID.setBounds(220, 70, 150, 20);  jtAlterID.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterID);  //修改基本信息  jlAlter2 = new JLabel();  jlAlter2.setBounds(20, 100, 170, 20);  jlAlter2.setText("*修改基本信息*");  jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter2);  // 修改姓名  jlAlter3 = new JLabel();  jlAlter3.setBounds(80, 140, 50, 20);  jlAlter3.setText("姓名:");  jlAlter3.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter3);    jtAlterName = new JTextField();  jtAlterName.setBounds(130, 140, 150, 20);  jtAlterName.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterName);  // 修改年龄  jlAlter4 = new JLabel();  jlAlter4.setBounds(320, 140, 50, 20);  jlAlter4.setText("年龄:");  jlAlter4.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter4);    jtAlterAge = new JTextField();  jtAlterAge.setBounds(370, 140, 150, 20);  jtAlterAge.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterAge);    // 修改学院  jlAlter6 = new JLabel();  jlAlter6.setBounds(80, 170, 50, 20);  jlAlter6.setText("学院:");  jlAlter6.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter6);    jtAlterCollage = new JTextField();  jtAlterCollage.setBounds(130, 170, 150, 20);  jtAlterCollage.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterCollage);  //修改班级  jlAlter7 = new JLabel();  jlAlter7.setBounds(320, 170, 50, 20);  jlAlter7.setText("班级:");  jlAlter7.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter7);  jtAlterClass = new JTextField();  jtAlterClass.setBounds(370, 170, 150, 20);  jtAlterClass.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterClass);  // 修改性别  jlAlter5 = new JLabel();  jlAlter5.setBounds(80, 210, 50, 20);  jlAlter5.setText("性别:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter5);    jr_man = new JRadioButton();  jr_man.setText("男");  jr_man.setFont(new Font("宋体", Font.PLAIN, 16));  jr_man.setSelected(true);  jr_man.setBounds(130, 210, 50, 20);  jr_woman = new JRadioButton();  jr_woman.setText("女");  jr_woman.setFont(new Font("宋体", Font.PLAIN, 16));  jr_woman.setBounds(180, 210, 50, 20);  sexgroup = new ButtonGroup();  sexgroup.add(jr_man);  sexgroup.add(jr_woman);  jpAlterByID.add(jr_man);  jpAlterByID.add(jr_woman);  // 修改成绩  jlAlter5 = new JLabel();  jlAlter5.setBounds(20, 240, 200, 20);  jlAlter5.setText("*修改单科成绩*");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter5);  // 修改数学  jlAlter5 = new JLabel();  jlAlter5.setBounds(80, 270, 50, 20);  jlAlter5.setText("数学:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter5);    jtAlterMath = new JTextField();  jtAlterMath.setBounds(130, 270, 150, 20);  jtAlterMath.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterMath);  //修改软件工程  jlAlter5 = new JLabel();  jlAlter5.setBounds(320, 270, 80, 20);  jlAlter5.setText("软件工程:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter5);    jtAlterSoftware = new JTextField();  jtAlterSoftware.setBounds(400, 270, 150, 20);  jtAlterSoftware.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterSoftware);  // 修改Java  jlAlter5 = new JLabel();  jlAlter5.setBounds(80, 300, 50, 20);  jlAlter5.setText("Java:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter5);    jtAlterJava = new JTextField();  jtAlterJava.setBounds(130, 300, 150, 20);  jtAlterJava.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterJava);  // 修改操作系统  jlAlter5 = new JLabel();  jlAlter5.setBounds(320, 300, 80, 20);  jlAlter5.setText("操作系统:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jlAlter5);  jtAlterSystem = new JTextField();  jtAlterSystem.setBounds(400, 300, 150, 20);  jtAlterSystem.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByID.add(jtAlterSystem);    jbAlterSure = new JButton();  jbAlterSure.setBounds(500, 325, 50, 20);  jbAlterSure.setIcon(new ImageIcon("pic//tijiao.gif"));  jbAlterSure.addActionListener(this);  jbAlterSure.setActionCommand("按学号修改提交");  jpAlterByID.add(jbAlterSure);    // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  jpAlterByName.setLayout(null);  //按姓名修改  jlAlter1 = new JLabel();  jlAlter1.setText("按姓名修改");  jlAlter1.setBounds(230, 20, 170, 20);  jlAlter1.setFont(new Font("宋体", Font.PLAIN, 20));  jpAlterByName.add(jlAlter1);  jlAlter2 = new JLabel();  jlAlter2.setBounds(20, 70, 200, 20);  jlAlter2.setText("*请输入要修改学生的姓名:");  jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter2);  //要修改学生的姓名  jtAlterName2 = new JTextField();  jtAlterName2.setBounds(220, 70, 150, 20);  jtAlterName2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterName2);  //修改基本信息  jlAlter2 = new JLabel();  jlAlter2.setBounds(20, 100, 170, 20);  jlAlter2.setText("*修改基本信息*");  jlAlter2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter2);  // 修改学号  jlAlter3 = new JLabel();  jlAlter3.setBounds(80, 140, 50, 20);  jlAlter3.setText("学号:");  jlAlter3.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter3);    jtAlterID2 = new JTextField();  jtAlterID2.setBounds(130, 140, 150, 20);  jtAlterID2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterID2);  // 修改年龄  jlAlter4 = new JLabel();  jlAlter4.setBounds(320, 140, 50, 20);  jlAlter4.setText("年龄:");  jlAlter4.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter4);    jtAlterAge2 = new JTextField();  jtAlterAge2.setBounds(370, 140, 150, 20);  jtAlterAge2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterAge2);    // 修改学院  jlAlter6 = new JLabel();  jlAlter6.setBounds(80, 170, 50, 20);  jlAlter6.setText("学院:");  jlAlter6.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter6);    jtAlterCollage2 = new JTextField();  jtAlterCollage2.setBounds(130, 170, 150, 20);  jtAlterCollage2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterCollage2);  //修改班级  jlAlter7 = new JLabel();  jlAlter7.setBounds(320, 170, 50, 20);  jlAlter7.setText("班级:");  jlAlter7.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter7);  jtAlterClass2 = new JTextField();  jtAlterClass2.setBounds(370, 170, 150, 20);  jtAlterClass2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterClass2);  // 修改性别  jlAlter5 = new JLabel();  jlAlter5.setBounds(80, 210, 50, 20);  jlAlter5.setText("性别:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter5);    jr_man2 = new JRadioButton();  jr_man2.setText("男");  jr_man2.setFont(new Font("宋体", Font.PLAIN, 16));  jr_man2.setSelected(true);  jr_man2.setBounds(130, 210, 50, 20);  jr_woman2 = new JRadioButton();  jr_woman2.setText("女");  jr_woman2.setFont(new Font("宋体", Font.PLAIN, 16));  jr_woman2.setBounds(180, 210, 50, 20);  sexgroup2 = new ButtonGroup();  sexgroup2.add(jr_man2);  sexgroup2.add(jr_woman2);  jpAlterByName.add(jr_man2);  jpAlterByName.add(jr_woman2);  // 修改成绩  jlAlter5 = new JLabel();  jlAlter5.setBounds(20, 240, 200, 20);  jlAlter5.setText("*修改单科成绩*");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter5);  // 修改数学  jlAlter5 = new JLabel();  jlAlter5.setBounds(80, 270, 50, 20);  jlAlter5.setText("数学:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter5);    jtAlterMath2 = new JTextField();  jtAlterMath2.setBounds(130, 270, 150, 20);  jtAlterMath2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterMath2);  //修改软件工程  jlAlter5 = new JLabel();  jlAlter5.setBounds(320, 270, 80, 20);  jlAlter5.setText("软件工程:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter5);    jtAlterSoftware2 = new JTextField();  jtAlterSoftware2.setBounds(400, 270, 150, 20);  jtAlterSoftware2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterSoftware2);  // 修改Java  jlAlter5 = new JLabel();  jlAlter5.setBounds(80, 300, 50, 20);  jlAlter5.setText("Java:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter5);    jtAlterJava2 = new JTextField();  jtAlterJava2.setBounds(130, 300, 150, 20);  jtAlterJava2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterJava2);  // 修改操作系统  jlAlter5 = new JLabel();  jlAlter5.setBounds(320, 300, 80, 20);  jlAlter5.setText("操作系统:");  jlAlter5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jlAlter5);  jtAlterSystem2 = new JTextField();  jtAlterSystem2.setBounds(400, 300, 150, 20);  jtAlterSystem2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAlterByName.add(jtAlterSystem2);    jbAlterSure2 = new JButton();  jbAlterSure2.setBounds(500, 325, 50, 20);  jbAlterSure2.setIcon(new ImageIcon("pic//tijiao.gif"));  jbAlterSure2.addActionListener(this);  jbAlterSure2.setActionCommand("按姓名修改提交");  jpAlterByName.add(jbAlterSure2);  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //添加  jpAddStudent.setLayout(null);  jlAdd1 = new JLabel();  jlAdd1.setBounds(200, 20, 200, 20);  jlAdd1.setText("添加学生基本信息");  jlAdd1.setFont(new Font("宋体", Font.PLAIN, 20));  jpAddStudent.add(jlAdd1);  // 添加基本信息  jlAdd2 = new JLabel();  jlAdd2.setBounds(20, 60, 100, 20);  jlAdd2.setText("*基本信息:");  jlAdd2.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd2);  //添加学号  jlAdd3 = new JLabel();  jlAdd3.setBounds(80, 90, 50, 20);  jlAdd3.setText("学号:");  jlAdd3.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd3);  jtAddID = new JTextField();  jtAddID.setBounds(130, 90, 150, 20);  jtAddID.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddID);  // 添加姓名  jlAdd4 = new JLabel();  jlAdd4.setBounds(320, 90, 50, 20);  jlAdd4.setText("姓名:");  jlAdd4.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd4);  jtAddName = new JTextField();  jtAddName.setBounds(370, 90, 150, 20);  jtAddName.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddName);  // 添加年龄  jlAdd5 = new JLabel();  jlAdd5.setBounds(80, 130, 50, 20);  jlAdd5.setText("年龄:");  jlAdd5.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd5);  jtAddAge = new JTextField();  jtAddAge.setBounds(130, 130, 150, 20);  jtAddAge.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddAge);  // 添加学院  jlAdd12 = new JLabel();  jlAdd12.setBounds(320, 130, 50, 20);  jlAdd12.setText("学院:");  jlAdd12.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd12);  jtAddCollage = new JTextField();  jtAddCollage.setBounds(370, 130, 150, 20);  jtAddCollage.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddCollage);  // 添加性别  jlAdd6 = new JLabel();  jlAdd6.setBounds(80, 170, 50, 20);  jlAdd6.setText("性别:");  jlAdd6.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd6);  jr_man = new JRadioButton();  jr_man.setText("男");  jr_man.setFont(new Font("宋体", Font.PLAIN, 16));  jr_man.setSelected(true);  jr_man.setBounds(130, 170, 50, 20);  jr_woman = new JRadioButton();  jr_woman.setText("女");  jr_woman.setFont(new Font("宋体", Font.PLAIN, 16));  jr_woman.setBounds(180, 170, 50, 20);  sexgroup = new ButtonGroup();  sexgroup.add(jr_man);  sexgroup.add(jr_woman);  jpAddStudent.add(jr_man);  jpAddStudent.add(jr_woman);  //添加班级  jlAdd13 = new JLabel();  jlAdd13.setBounds(320, 170, 50, 20);  jlAdd13.setText("班级:");  jlAdd13.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd13);  jtAddClass = new JTextField();  jtAddClass.setBounds(370, 170, 150, 20);  jtAddClass.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddClass);  // 添加成绩  jlAdd7 = new JLabel();  jlAdd7.setBounds(20, 210, 100, 20);  jlAdd7.setText("*单科成绩:");  jlAdd7.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd7);  // 添加数学  jlAdd8 = new JLabel();  jlAdd8.setBounds(80, 240, 50, 20);  jlAdd8.setText("数学:");  jlAdd8.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd8);  jtAddMath = new JTextField();  jtAddMath.setBounds(130, 240, 150, 20);  jtAddMath.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddMath);  // 添加软件工程  jlAdd9 = new JLabel();  jlAdd9.setBounds(320, 240, 80, 20);  jlAdd9.setText("软件工程:");  jlAdd9.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd9);  jtAddSoftware = new JTextField();  jtAddSoftware.setBounds(400, 240, 150, 20);  jtAddSoftware.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddSoftware);  // 添加Java  jlAdd10 = new JLabel();  jlAdd10.setBounds(80, 280, 50, 20);  jlAdd10.setText("Java:");  jlAdd10.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd10);  jtAddJava = new JTextField();  jtAddJava.setBounds(130, 280, 150, 20);  jtAddJava.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddJava);  // 添加操作系统  jlAdd11 = new JLabel();  jlAdd11.setBounds(320, 280, 80, 20);  jlAdd11.setText("操作系统:");  jlAdd11.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jlAdd11);  jtAddSystem = new JTextField();  jtAddSystem.setBounds(400, 280, 150, 20);  jtAddSystem.setFont(new Font("宋体", Font.PLAIN, 16));  jpAddStudent.add(jtAddSystem);  jbAddSure = new JButton();  jbAddSure.setBounds(500, 320, 50, 20);  jbAddSure.setIcon(new ImageIcon("pic//tijiao.gif"));  jbAddSure.addActionListener(this);  jbAddSure.setActionCommand("添加提交");  jpAddStudent.add(jbAddSure);  // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  //查看  jl = new JLabel();  jl.setBounds(110, 0, 300, 20);  jl.setText("信息表");  jl.setForeground(Color.gray);  jl.setFont(new Font("宋体", Font.PLAIN, 16));  jpSee.add(jl);    MyTableModel Mytable = new MyTableModel();  jtable = new JTable(Mytable);  jtable.setShowGrid(true);  //设置列宽  col1 = jtable.getColumnModel().getColumn(0);  col1.setPreferredWidth(145);  col2 = jtable.getColumnModel().getColumn(1);  col2.setPreferredWidth(80);  col3 = jtable.getColumnModel().getColumn(2);  col3.setPreferredWidth(50);  col4 = jtable.getColumnModel().getColumn(3);  col4.setPreferredWidth(50);  col5 = jtable.getColumnModel().getColumn(4);  col5.setPreferredWidth(100);  col6 = jtable.getColumnModel().getColumn(5);  col6.setPreferredWidth(130);  col7 = jtable.getColumnModel().getColumn(6);  col7.setPreferredWidth(80);  col8 = jtable.getColumnModel().getColumn(7);  col8.setPreferredWidth(80);  col9 = jtable.getColumnModel().getColumn(8);  col9.setPreferredWidth(80);  col10 = jtable.getColumnModel().getColumn(9);  col10.setPreferredWidth(80);  jtable.setPreferredScrollableViewportSize(new Dimension(610, 300));  js = new JScrollPane(jtable);  js.setBounds(30, 20, 590, 350);  jpSee.add(js);     //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  setLocation(400, 150);  setResizable(false);  setSize(650, 400);  setVisible(true);  setTitle("学生成绩管理系统"); }    //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //判断学生是否存在 public Boolean isEixt(String ID, String fileName) {  String str = null;  String[][] student = new String[100][];  FileReader fr;  BufferedReader br;  try  {   fr = new FileReader(fileName);   br = new BufferedReader(fr);   try   {    for (int i = 0; (str = br.readLine()) != null; i++)    {     student[i] = str.split(" ");     if (student[i][0].equals(ID))     {      return true;     }    }   }   catch (IOException e)   {    e.printStackTrace();   }  }  catch (FileNotFoundException e)  {   e.printStackTrace();  }  return false; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    //添加基本信息 public void add(String information, String FileName) {  File file = new File(FileName);  try  {   BufferedWriter bw;   FileWriter fw;   // 如果文件(班级)不存在则创建   if (!file.exists())   {    // 创建文件(班级)    file.createNewFile();   }   try   {    fw = new FileWriter(FileName, true);    bw = new BufferedWriter(fw);    bw.write(information);    bw.newLine();    bw.close();   }   catch (IOException ex)   {    ex.printStackTrace();   }  }  catch (IOException e1)  {   e1.printStackTrace();  } }    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //查看 public void SeeAll(String FileName) {  String str = null;  for(int i =0;i<100;i++)  {   for(int j=0;j<12;j++)   {    student[i][j] = " ";   }  }  try        {         FileReader fr = new FileReader(FileName);         BufferedReader br = new BufferedReader(fr);         for(int i =0;(str = br.readLine())!=null;i++)         {          student[i] = str.split(" ");         }        }        catch (IOException e)        {         e.printStackTrace();        } } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //查询 public int Search(String FileName,int num,String information) {  String str = null;  String temp [][] = new String[100][12];  int count = 0;  int flag = 0;  for(int i =0;i<100;i++)  {   for(int j=0;j<12;j++)   {    student[i][j] = "";   }  }  try        {         FileReader fr = new FileReader(FileName);         BufferedReader br = new BufferedReader(fr);         for(int i =0;(str = br.readLine())!=null;i++)         {          temp[i] = str.split(" ");          if(temp[i][num].equals(information))          {           student[count] = temp[i];           count ++;           flag = 1;          }         }        }        catch (IOException e)        {         e.printStackTrace();        }        return flag; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //删除 public int delete(String FileName,int num,String information) {  FileReader fr;  BufferedReader br;  BufferedWriter bw;  FileWriter fw;  String str = null;  int count = 0;  int k = 0;  int flag = 0;//判断该学生是否存在 0 没有 1 有  String temp [][] = new String[100][12];  for(int i =0;i<100;i++)  {   for(int j=0;j<12;j++)   {    student[i][j] = "";   }  }        try        {         fr = new FileReader(FileName);         br = new BufferedReader(fr);         for(int i =0;(str = br.readLine())!=null;i++)         {          temp[i] = str.split(" ");          if(temp[i][num].equals(information))          {           flag = 1;           continue;          }          student[count++]=temp[i];          if(k == 0)          {           fw = new FileWriter(FileName);           k++;          }          else          {           fw = new FileWriter(FileName,true);          }          bw = new BufferedWriter(fw);          bw.write(str);           bw.newLine();           bw.close();         }         br.close();                 }        catch (FileNotFoundException e)        {         e.printStackTrace();        }        catch (IOException e)        {         e.printStackTrace();        }        return flag; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //修改 public int alter(int num,String information[]) {  FileReader fr;  BufferedReader br;  BufferedWriter bw;  FileWriter fw;  String str = null;  String tempStr = null;  int k =0;  int flag = 0;//判断该学生是否存在 0 没有 1 有  double total = 0;  String temp [][] = new String[100][12];  for(int i =0;i<100;i++)  {   for(int j=0;j<12;j++)   {    student[i][j] = " ";   }  }        try        {         fr = new FileReader(FileName);         br = new BufferedReader(fr);         for(int i =0;(str = br.readLine())!=null;i++)         {          temp[i] = str.split(" ");          if(temp[i][num].equals(information[num]))          {System.out.print("gggggggggf");           tempStr = null;           flag = 1;           for(int j =0;j<= 9;j++)           {            if(information[j].equals(""))            {             if(j>=6)//修改单科成绩也要修改总成绩 和平均分             {              total += Double.parseDouble(temp[i][j]);             }             if(j == 0)              tempStr = temp[i][j];             else              tempStr=tempStr+" "+temp[i][j];             continue;            }            if(j>=6)            {             total += Double.parseDouble(information[j]);            }            temp[i][j] = information[j];            if(j == 0)             tempStr=temp[i][j];            else             tempStr=tempStr+" "+temp[i][j];           }           str = tempStr+" "+String.valueOf(total)+" "+String.valueOf((int)(total/4));           temp[i][10] = String.valueOf(total);temp[i][11] = String.valueOf((int)(total/4));          }          student[i]=temp[i];          if(k == 0)          {           fw = new FileWriter(FileName);           k++;          }          else          {           fw = new FileWriter(FileName,true);          }          bw = new BufferedWriter(fw);          bw.write(str);           bw.newLine();           bw.close();         }         br.close();                 }        catch (FileNotFoundException e)        {         e.printStackTrace();        }        catch (IOException e)        {         e.printStackTrace();        }        return flag; } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //排序 public void Sort(int num) {  String str = null;  double d1,d2;  int count = 0;  for(int i =0;i<100;i++)  {   for(int j=0;j<12;j++)   {    student[i][j] = null;   }  }  try        {         FileReader fr = new FileReader(FileName);         BufferedReader br = new BufferedReader(fr);         for(int i =0;(str = br.readLine())!=null;i++)         {          student[i] = str.split(" ");          count++;         }         for (int j = 0;j < count;j++)    {       for (int i = 0;i < count-1;i++)     {         String[] temp;     d1 = Double.parseDouble(student[i][num]);     d2 = Double.parseDouble(student[i+1][num]);     if(num == 3 ||num == 6||num == 7||num == 8|| num == 9||num == 10)     {      if (d1<d2)      {            temp = student[i];            student[i] = student[i + 1];            student[i + 1] = temp;               }       }     else     {      if (d1>d2)      {            temp = student[i];            student[i] = student[i + 1];            student[i + 1] = temp;               }      }          }     }         }        catch (IOException e)        {         e.printStackTrace();        } } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //查询平均成绩 public double SearchAvg(int num) {  String str = null;  String temp [][] = new String[100][10];  double total = 0;  int count = 0;  for(int i =0;i<100;i++)  {   for(int j=0;j<12;j++)   {    student[i][j] = "";   }  }  try        {         FileReader fr = new FileReader(FileName);         BufferedReader br = new BufferedReader(fr);         for(int i =0;(str = br.readLine())!=null;i++)         {          count ++;          temp[i] = str.split(" ");          total +=Double.parseDouble(temp[i][num]);         }        }        catch (IOException e)        {         e.printStackTrace();        }        return total/count; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ public boolean Check(String str) {  int len = str.length();  for(int i =0;i<len;i++)  {   if(str.charAt(i)<'0'||str.charAt(i)>'9')   {    return false;   }  }  return true; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //百分比 public int[] percent(int num) {  String temp [][] = new String[100][10];  String str = null;  int information[] = new int [7];  for(int i=0;i<6;i++)  {   information[i] = 0;  }  try        {         FileReader fr = new FileReader(FileName);         BufferedReader br = new BufferedReader(fr);         for(int i =0;(str = br.readLine())!=null;i++)         {          temp[i] = str.split(" ");          information[5]++;          if(Double.parseDouble(temp[i][num])>=90)          {           information[0]++;          }          else if(Double.parseDouble(temp[i][num])>=80)          {           information[1]++;          }          else if(Double.parseDouble(temp[i][num])>=70)          {           information[2]++;          }          else if(Double.parseDouble(temp[i][num])>=60)          {           information[3]++;          }          else if(Double.parseDouble(temp[i][num])<60)          {           information[4]++;          }         }        }        catch (IOException e)        {         e.printStackTrace();        }  return information; } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ public void mouseReleased(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseClicked(MouseEvent e) {  Point p = e.getPoint();  row = jtable.rowAtPoint(p);  if (e.getClickCount() == 2)  {} } public void actionPerformed(ActionEvent e) {  

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是...

    在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。

    何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。

    一、Java基础

    1、Java基础教学视频

    Java零基础教程视频(适合Java 0基础,Java初学入门)【推荐】

    JavaSE进阶入门项目实战视频教程_动力节点【推荐】

    毕向东Java基础视频教程25天【相对老旧,但也是金典啊!】

    说句实在的,博主当年大一下学期就是看的毕老师Java基础25天的视频,可谓金典啊!现在看来算是比较老旧了,可谓画质感人,若不是老毕的风趣,博主有种怎会坚持看完说句实在的,主要是当时没有学习资源才莫得办法,相比之下其余二者都是比较新颖的视频教程了,都是近一两年的没有质量博主也不会推荐鸭,对吧这个时候就会有童鞋要说了,怎么都是bilibili上的鸭?博主认为B站可谓是最大的学习网站了最重要的是免费免费免费!!!是的!加油学吧!上天是公平的,只要不辜负时间,时间自然不会辜负你。

    2、Java基础博客文章目录

    这些是博主近半个月重新总结的一些javase基础方面的博客,当然,学习总结!学习后才有的总结!建议哪里不懂点哪里进行参考

    解惑真小白的苦恼 | 类的对象,对象引用,对象实例,引用变量

    深入理解static关键字

    深入理解抽象类与接口

    【java基础之继承】java继承从“我爸是李刚”讲起

    【java基础之多态】理解多态的向上向下转型从“妈妈我想吃烤山药”讲起

    【java基础之代码块】Static静态代码块以及各代码块之间的执行顺序

    【java基础之异常】死了都要try,不淋漓尽致地catch我不痛快!

    【java基础之匿名内部类】程序员你真的理解匿名内部类吗?

    【java基础之tostring】为什么重写toString()方法?

    【java基础之泛型】泛型

    【java基础之反射】程序员你真的理解反射机制吗?

    java中的transient关键字详解

    史上最骚最全最详细的IO流教程,没有之一!

    【java基础之测试】序员你确定这十个题你都会吗?

    java抽象类(abstract)与接口(Interface)

    java面试官:兄弟简单谈谈Static、final、Static final各种用法吧

    java中的重载与重写

    Java静态static详解

    Java中equals与“==”的区别详解

    java基础之 “==”和“ equals”以及instanceof的区别

    Object类、Date类、System类、StringBuilder类、包装类

    什么是浮点型?什么是单精度浮点数(float)以及双精度浮点数(double)?

    java数组定义、使用、以及数组内存分析详解

    Collection集合以及Iterator迭代器实现原理

    List、Set集合系列之剖析HashSet存储原理(HashMap底层)

    Collection和Collections之间的使用与区别(顺带讲解Comparable与Comparator区别)

    Java中的多线程你只要看这一篇就够了

    当然,于此同时学习的过程光是看这些博客文章是不够的不太系统,不太完整,自黑++i,为了各位能够系统性学习,下面我贴出一份300页的Java基础教程笔记,可适当掺杂阅读。啥?300页?我靠,博主牛皮,博主赖斯,博主我要嫁给你!!!哎哎哎…博主我不禁夸不禁夸害羞 当然博主没有这个耐心整理写作300页笔记,还得感谢我的老师吧这是博主的老师整理的哈哈 唉哎哎…别打…别打…别打脸…我靠,咋还有扔臭鸡蛋的
    300页的Java基础教程链接:https://pan.baidu.com/s/1awgcwhF_SwMetLYcw-7gpg&shfl=sharepset
    提取码:xfn3

    以为就完了吗?就能入门了吗???

    就举个例子从这些List, ArrayList, Set ,HashSet, Map ,HashSet 等等java基础的集合框架你都真的掌握了咩?啥?都学过了?那你能够写一个最简单的ArrayList代码实现吗?就从自己创建一个类开始,然后加方法去实现…对于Java集合框架, 不但要学会用, 还会尝试着去实现一遍!!!一定要多折腾,你才会创造出自己的东西,以后你才能出众

    3、Java基础书籍

    放心,博主深怕各位同学学的不够深不够好,所以博主准备了一打书籍给你。包括java编程思想、java核心技术卷一、二,慢慢啃吧…

    链接:https://pan.baidu.com/s/1oeQxwcN6x1r1lUVml0PeLQ&shfl=sharepset 提取码:st3f

    链接:https://pan.baidu.com/s/19Afs4hbMqZkgxZts9vjyzA&shfl=sharepset 提取码:8ep6

    二、关于JavaWeb基础

    来到Java EE了,博主不得不比比几句了, Java 不就是写服务器端的Web应用的吗?那就自己写个Web程序喽, 可以考虑做一个Web版项目, 用最基础的技术Servlet/jsp/jdbc 。然后自己写个简单mvc框架, 在自己的Web 程序中用起来, 这叫吃自己的狗粮,之后再研究框架 , 自己写个简单的OR mapping框架, 再吃一次自己的狗粮。最后读一下经典的书籍《J2EE development without EJB》 , 是spring 的作者Rod Johnson写的, 它颠覆了大家对于重量级EJB的认识, 开启了新的时代。有了这本书的铺垫, 自己写个简化的依赖注入也不是难事, 写好后还是在自己的Web程序中用起来, 最后一次吃自己的狗粮。

    唉唉唉…放开我…博主还能再哔哔几句…

    JavaWeb基础不牢固,学框架只会事倍功半!所以学servlet之前请远离框架…

    1、JavaWeb基础教程视频

    JavaWeb视频教程(JSP/Servlet/上传/下载/分页/MVC/三层架构/Ajax)

    黑马JavaWeb入门到精通(idea版)

    尚硅谷Java视频_JavaWEB基础视频教程

    同样的那句话:上天是公平的,只要不辜负时间,时间自然不会辜负你。

    2、关于JavaWeb博客文章

    我整理的比较少,比较乱,时间比较有限,写的不好,将就这看吧,选择性观看

    JavaWeb专栏

    三、关于数据库

    肯定要学一个啊,最起码MySQL或者Oracle要会,总不能SQL语句也敲不出吧…

    1、关系型数据库教学视频

    MySQL 基础+高级篇- 数据库 -sql -尚硅谷

    SQL数据库

    一天学会 MySQL 数据库

    Oracle从入门到精通教程(全套)_数据库实战精讲_动力节点

    2、非关系性数据库Redis视频

    非关系性数据库Redis了解一下?这个Redis非常重要,博主不多哔哔,怕各位嫌我比比叨叨然后跑到现实中来扎我QnQ,一句话,埋头学吧…

    千锋微服务2019最新Redis教程[千锋南京]

    2019最新Redis实战教程全套学习视频

    四、关于JDK新特性

    虽然现在jdk12、13的世道了,可现实却是jdk8还是新特性哈哈哈哈…哈哈…哈(原谅我差点笑嗝屁)

    但是必须要明白一点的是用的比较多的还是JDK8!因此JDK8最好要去了解~

    黑马IDEA版本2018Java教学视频—JDK8新特性

    Java 8/9/11 新特性视频教程全集(65P)| 15 小时从入门到精通

    五、关于并发编程

    并发编程其实接触的并不多,但是尤为重要,首当其冲的体现在面试上!现在由于学习软件的人越来越多,特别是Java语言这个行业,而且每年大学生都在毕业,不是我说的浮夸,就连土木工程的大学生都可能转IT这一行,IT行业工资高现在已经是妇孺皆知了,稍微毕业后加入某某培训机构半年,总之学IT的人只会越来越多,随便在大街上拉一个头发茂盛的大叔都可能就是搞软件的,现在有一股妖风,不管啥公司都慢慢像阿里这样的大公司靠近,面试不问点jvm、并发、分布式都不好意思,面试通过之后你的岗位可能仅仅是CURD,老是觉得问问这些显得逼格高点,不管处于什么原因很多公司的确都是这样的!

    这篇文章就是要让你入门java多线程【多线程入门】

    Java并发编程原理与实战

    六、关于NIO

    如果有时间有精力有耐心NIO也是不可或缺的一门知识!急着就业的朋友可以先学框架只后再尽量回头学,当然也只是建议!

    尚硅谷Java视频_NIO 视频教程

    七、关于ssm框架

    ssh建议就不要学了,呸,不能这么说,就是能不学就不学吧,用到再学吧!【只是建议】,总之多学一点也没坏事,看个人吧!反正博主是直接学ssm框架。。。

    1、spring框架视频

    传智spring框架

    Java进阶教程2018年spring框架深入浅出

    2、Mybatis 框架视频

    Mybatis 【黑马】 idea版本

    MyBatis视频教程

    3、SpringMVC框架视频

    【极客学院】一天学会SpringMVC框架

    4、SSM框架博客文章

    4.1、spring框架

    Spring框架学习总结(上)

    Spring框架AOP学习总结(下)

    谈谈Spring核心IOC和AOP

    Spring加载properties文件的两种方式

    4.2、Mybatis框架

    什么是Mybatis,为什么要学习Mybatis,mybatis与hibernate区别

    零基础Mybatis入门程序编写、测试

    MyBatis中SqlMapConfig.xml文件中重点配置:properties属性、typeAliases别名、mappers映射

    MyBatis开发Dao的原始Dao开发和Mapper动态代理开发

    Mybatis中#{}与${}的区别

    Mybatis分页插件PageHelper的学习与使用

    Mybatis整合spring详细教程(带思路)

    4.3、SpringMVC框架

    走进SpringMVC世界,从SpringMVC入门到SpringMVC架构

    手把手教你优雅的编写第一个SpringMVC程序

    SpringMVC参数绑定学习总结【前后端数据参数传递】

    【解决】SpringMVC前端到后端400错误

    SpringMVC常见面试题总结(超详细回答)

    4.5、SSM框架整合文章

    当然以上框架文章并不太全,凑合着看吧,尽量以后更新…当然了以上框架企业都不会单个单个的用而是三个框架整合在一起使用,下面这篇文章可就要我的dog命了,加上测试花了整整N个多小时写出来的…

    IDEA优雅整合Maven+SSM框架(详细思路+附带源码)

    八、关于数据结构与算法

    可能你不去了解这玩意,你可能永远用不上这玩意,当你用的上瘾了,在以后的开发中,你会被它的魅力所折服的!强烈建议学习!!!,博主也是自掏腰包在极客专栏上买的这个专栏PDF,顺道小结写出博客,也算是一种小成绩吧!

    1、数据结构与算法视频

    (严蔚敏)数据结构视频教程(C语言版48集)

    上古程序员严蔚敏老师了解一下?咳咳当然也有java版的了,如下

    数据结构与算法基础-java版

    尚硅谷图解Java数据结构和算法

    2、数据结构与算法博客文章

    数据结构与算法分析有多重要?

    完全透析数据结构与算法

    时间空间复杂度分析:如何分析、统计算法的执行效率和资源消耗

    如何教会女友递归算法?

    【数据结构01】浅谈数组

    【数据结构02】栈与队列

    【数据结构03】浅谈链表

    【算法04】树与二叉树(递归思想遍历)

    算法动图+原理代码轻松透析八大经典算法

    当然,依旧还在学习中…尽量抽空持续更新

    3、数据结构与算法书籍

    还有附带一本数据结构与算法书籍,够你折腾了…

    链接:https://pan.baidu.com/s/1c1BW4iHdYPCd1nbRW1kUSQ&shfl=sharepset 提取码:jcdw

    九、关于开发工具idea

    java开发工具必须要最好的鸭,强烈建议直接上手idea,如果你非要用eclipse,咋也不敢问啊…

    博主也有个idea专栏,只是写的不多而已,选择性观看吧,建议看视频,讲的绝对比博主我说的好…

    IDEA专栏

    尚硅谷Java视频教程_IDEA视频教程

    十、关于项目管理工具Maven、Git、SVN、Gradle…

    确实,这些肯定要学,不然就out了…

    Maven基础篇(IDEA版)

    尚硅谷Java视频教程_Maven视频

    【教程】学会Git玩转Github【全】

    尚硅谷_Git&GitHub视频

    黑马程序员SVN视频教程

    黑马程序员精品教程|Java进阶教程之Gradle入门到精通

    十一、关于计算机网络原理

    世界上最遥远的就是网络…呀这里断网了,请各位往下接着看暂时还没写这方面的博客,不过还是挺重要的一门

    韩老师讲高校《计算机网络原理》

    韩老师就不多说了,绝对金典…

    十二、关于设计模式

    这个太重要了,不过没有实际开发经验是学不好这一门课程的,所以它分几个阶段学习,并不可能一蹴而就的,如果你听说XXX花了几个月的时间,耗死XXX个脑细胞,专研设计模式这一门,最后他成仙了,看啥都能运用设计模式来解决…你就扯犊子吧…

    1、设计模式博客文章

    Java 大黑话讲解设计模式 – UML类图

    【设计模式】单例模式的八种写法分析

    待续…

    尽量抽空写…

    2、设计模式视频

    尚硅谷图解Java设计模式韩顺平老师2019力作

    23个设计模式

    十三、关于中间件Shiro、Lucene、Solr…

    1、啥是中间件?

    啥是中间件?这个问题对博主而言就跟啥是佩奇这问题是同一层次的,小猪…红色的… 咳咳,扯远了

    其实吧,对于中间件这个概念并没有特定的概念,大致的概念为非业务的技术类组件,是操作系统之上和业务逻辑之下的中间层也都可以称之为中间件,或者说是主要用于解耦底层逻辑和业务应用的组件,或者是一些可复用的后台组件。这些概念倒是麻溜溜滴…似乎有点道理但又没完全讲清楚这个概念,你说气人不气人?

    言而总之,总而言之,中间件其实也有两个层面不同理解:
    1、狭义上讲中间件如常见的远程服务框架、消息队列、缓存等;
    2、广义上讲中间件是操作系统之上业务逻辑之下的所有可复用的后台组件。

    2、Shiro

    尚硅谷Shiro视频教程

    Lucene&solr(2天学习)

    3、Lucene

    2018年黑马程序员就业班57期之【Lucene】

    4、Shiro

    SpringBoot与Shiro整合-权限管理实战视频

    5、Elasticsearch7.X

    2019年全新录制Elasticsearch7.X搜索引擎项目实战Java架构全套视频教程

    6、Dubbo

    尚硅谷Java视频教程_Dubbo

    (千锋教育)Java 微服务架构 Dubbo 篇 一款高性能 Java RPC 框架

    十四、关于JVM虚拟机

    1、JVM博客文章

    深入理解java虚拟机系列初篇(一):为什么要学习JVM?

    别翻了,这篇文章绝对让你深刻理解java类的加载机制【JVM篇二】

    持续写作中…

    2、JVM视频

    面试JVM,听这堂课就够了

    深入理解JVM

    3、JVM书籍

    博主不想bb啥并朝你丢了一本深入java虚拟机

    链接:https://pan.baidu.com/s/1C3bQOIdxdjHOwq6MT283yQ&shfl=sharepset
    提取码:zkww

    十五、关于消息中间件、RabbitMQ、RocketMQ、ActiveMQ

    单独讲下消息中间件,主要是中间件塔喵的太多惹…

    1、Kafka

    尚硅谷大数据课程之Kafka(2019新版)

    2、RabbitMQ

    MQ消息中间件RabbitMQ 入门到进阶+(牧码人/老王/)+(架构师系列)

    Java架构师带你90分钟快速搞定RabbitMQ消息中间件

    3、RocketMQ

    RocketMQ系统精讲,经受历年双十一狂欢节考验的分布式消息中间件

    2019年最新版Springboot+mybatis+RocketMQ+SpringCloud技术讲解

    4、ActiveMQ

    尚硅谷消息中间件之ActiveMQ

    2019尚硅谷谷粒商城微服务SpringBoot,Dubbo,MySql高级,Redis秒杀,ElasticSearch,ActiveMQ…

    十六、关于容器化技术docker、kubernetes

    尚硅谷_Docker核心技术(基础篇)

    【公开课】Docker入坑教程【33集】

    马哥运维进阶教程:Kubernetes(K8s)从入门到精通

    尚硅谷Kubernetes(k8s基于最新2019年8月发布的1.15.1)

    十七、关于微服务框架

    随着基于Spring之上的框架SpringBoot、Cloud的流行,基于注解式开发的热潮逐渐覆盖了基于XML纯配置的开发,Spring注解将显得格外重要…所以…所以…所以个锤子啊不关咋们什么事啊。。。开个玩笑哈哈,至于微服务框架的学习看个人吧,最好是在找工作前学习一下,现在IT门槛越来越高了,不会点分布式缓存真的不好找工作。

    1、SpringBoot视频

    SpringBoot视频教程(idea版)_2018_spring boot_springboot核心篇+springboot整合篇

    尚硅谷好评如潮【SpringBoot】视频

    2、SpringCloud视频

    尚硅谷_SpringCloud(全)

    千锋:2019Java微服务架构(SpringBoot+SpringCloud)

    答应博主,一定要坚持学完啊!!!

    十八、关于面试

    2019最新Java面试题集精讲全集(互联网大厂必问)

    Java面试题全集84集系列

    京东小米面经

    十九、关于另一层次的学习

    1、参阅官方文档

    另一级别的学习最好的方式就是参阅官方文档,亲生父母往往对孩子是最了解,Spring Boot Reference Guide就是对springboot最了解,怎么样使用springbootspringboot特性等等,springboot在你面前一览无遗;啥?英语不好???google百度翻译插件你值得拥有,咬咬牙也是能看的。如果有时间可以重新学英语,记住,世上无难事,只怕有心人,学什么都不会太晚。

    2、国内技术书籍

    官方文档其次就是书籍,国内的好书自成体系,帮助我们掌握的知识点不至于太散。

    3、参阅博客文章、闲逛github

    再次就是博客文章,不得不吐槽几句,网上的很大一部分文章都是非常浅显,再加上一些标题党的横行,简直不忍直视。这也是很多人抵制博客文章的原因,这里不得不提一下:每次百度或者谷歌一下知识点或者bug,我敢打包票出现最多的推荐靠前的都是CSDN,我相信很多人会认为CSDN很强大,实际上你错了,过段时间你就会慢慢抵制CSDN,看到简书或者博客园、知乎的文章你会优先去看。至于原因就是因为CSDN是国内最大的博客平台,同时一些“标题党.equal 烂人”随之衍生,为了所谓的点击量,博取眼球,自以为自己访问量高很nice?这里也不是说起博取眼球的标题是抵制,前提是你的这篇文章要有一定深度和见解,能够撑起整片文章知识点的架构,博取眼球的标题才是真正有意义的,当之无愧。

    总归来说,园子内还是有很多技术大牛,写的博客自然也是非常棒,非常具有学习价值。每次看都是一种享受,一种熏陶。当然还有github、社区、论坛、码云等等。这就是源码的朋友圈,我们从中也能获取到非常多关于源码的信息。但是针对某个知识点却特别的细,对彻底掌握非常有帮助。

    至于博主为啥要抽空整理出这样一篇博客文章,原因很简单…

    博主大一下学期的时候无尽的迷茫惆怅,博主何尝不期望有位“高人”指路,想学却又不知从何下手,那种无助那种孤独的滋味我懂…
    所以博主只希望生活能够不辜负每个少年的一腔热血,写作本文章的意义仅此而已…

    瓜皮群众皮皮甲: 呜呜呜…博主大一下学期原来这么孤独啊,看了这么久的文章还一直以为这位博主是个有趣、对生活充满阳光的,没想到这个博主“徒有其表”啊 QnQ

    瓜皮群众皮皮乙: 是啊是啊…

    博主: 咳咳…那啥…今天就先到这里了,博主有事,唉唉唉…看…又是那个该死的包工头来电话了,话说今天的砖头格外烫手。

    瓜皮群众皮皮丙: 博主怎么画风怎么又变了, 唉唉唉…博主别走鸭…上我家搬砖去啊,午饭外加一个鸡腿…

    如果有想要和博主一起交流的朋友,欢迎各位及时联系博主…那… 咋们有bing再见~

    持续更新…

    如果本文对你有一点点帮助,那么请点个赞呗,谢谢~

    最后,若有不足或者不正之处,欢迎指正批评,感激不尽!如果有疑问欢迎留言,绝对第一时间回复!

    欢迎各位关注我的公众号,公众号里有全套java电子书籍和学习资料喔,一起探讨技术,向往技术,追求技术,说好了来了就是盆友喔…

    在这里插入图片描述

    展开全文
  • 关于学生成绩管理系统的界面设计:代码如下 1import&nbsp;javax.swing.*; 2import&nbsp;java.awt.*; 3import&nbsp;java.awt.event.*; 4import&nbsp;com.example.SqlHelper; 5class&nbsp;...

    关于学生成绩管理系统的界面设计:代码如下
    数据库表设计

    DROP TABLE IF EXISTS `student`;
    CREATE TABLE `student` (
      `username` varchar(30) NOT NULL,
      `stu_time` datetime NOT NULL,
      `stu_score` int(11) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    

    主界面设计

    package com.studensystem;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import com.studensystem.SqlHelper;
    class MyPanel extends JPanel{
        Image img=Toolkit.getDefaultToolkit().getImage("c:/a.jpg");
       public void paint(Graphics g){
           g.drawImage(img,0,0,this);
       }
    }
    public class MainForm extends JFrame implements ActionListener
    {
    
       JMenu mSystem=new JMenu("学生信息管理");
      JMenuItem mExit=new JMenuItem("操作");
       JMenuItem mExit1 = new JMenuItem("查看");
      JMenu mOperate=new JMenu("课程信息管理");
      JMenuItem mAdd=new JMenuItem("添加");
      JMenuItem mDel=new JMenuItem("删除");
       JMenuItem mModify=new JMenuItem("修改");
       JMenu mQuery=new JMenu("成绩信息管理");
       JMenuItem mName=new JMenuItem("按姓名查询");
       JMenuItem mScore=new JMenuItem("按成绩查询");
       JMenu mHelp=new JMenu("学期信息管理");
       JMenuItem mAbout=new JMenuItem("操作");
       JMenuItem mAbout1 = new JMenuItem("");
       JMenuBar mBar=new JMenuBar();
       MainForm()
       {
           super("学生成绩管理系统");
          setSize(500,500);
           mSystem.add(mExit);
          mOperate.add(mAdd);
           mOperate.add(mDel);
          mOperate.add(mModify);
           mQuery.add(mName);
          mQuery.add(mScore);
           mHelp.add(mAbout);
           mBar.add(mSystem);
          mBar.add(mOperate);
           mBar.add(mQuery);
          mBar.add(mHelp);
           setJMenuBar(mBar);
          mExit.addActionListener(this);
           mAdd.addActionListener(this);
           mDel.addActionListener(this);
           mModify.addActionListener(this);
           mName.addActionListener(this);
           mScore.addActionListener(this);
           mAbout.addActionListener(this);
           setContentPane(new MyPanel());
           setVisible(true);
       }
       public void actionPerformed(ActionEvent ae){
           if(ae.getSource()==mExit)
               System.exit(0);
           else if(ae.getSource()==mAbout)
               JOptionPane.showMessageDialog(this,"学生成绩管理系统\n对不起,功能暂时未开放\n功能有待完善\n\n","期末作品",JOptionPane.INFORMATION_MESSAGE);
          else if(ae.getSource()==mAdd)
               new AddForm().setVisible(true);
            else if(ae.getSource()==mDel)
               new DeleteForm().setVisible(true);
             else if(ae.getSource()==mModify)
              new ModifyForm().setVisible(true);
          else if(ae.getSource()==mName)
             new NameQueryForm().setVisible(true);
            else if(ae.getSource()==mScore)
              new ScoreQueryForm().setVisible(true);
       }
       public static void main(String[] args) {
           new MainForm();
      }
    }
    

    添加界面设计

    package com.studensystem;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import com.studensystem.SqlHelper;
    public class AddForm extends JFrame implements ActionListener
    {
      JLabel labName=new JLabel("姓名:");
       JLabel labDate=new JLabel("出生日期:");
       JLabel labScore=new JLabel("成绩:");
       JTextField txtName=new JTextField(20);
       JTextField txtDate=new JTextField(18);
      JTextField txtScore=new JTextField(20);
       JButton btnAdd=new JButton("添加");
       JButton btnCancel=new JButton("取消");
       JPanel pan=new JPanel();
       JPanel pan1=new JPanel();
       JPanel pan2=new JPanel();
       JPanel pan3=new JPanel();
       JPanel pan4=new JPanel();
       Connection con;
       Statement sql;
       ResultSet rs;  
       AddForm()
       {
           super("添加数据");
           setSize(400,300);
           pan1.add(labName);
           pan1.add(txtName);
           pan2.add(labDate);
           pan2.add(txtDate);
           pan3.add(labScore);
           pan3.add(txtScore);
           pan4.add(btnAdd);
         pan4.add(btnCancel);
          pan.setLayout(new GridLayout(3,1));
          pan.add(pan1);
           pan.add(pan2);
           pan.add(pan3);
           getContentPane().add(pan,"Center");
           getContentPane().add(pan4,"South");
           btnAdd.addActionListener(this);
           btnCancel.addActionListener(this);
           btnAdd.setEnabled(true);
           txtDate.setEditable(true);        
            txtScore.setEditable(true);
           setVisible(true);
           txtName.requestFocus();
       }
       public void actionPerformed(ActionEvent ae)
       {
           String recode,insert1,stu_time,username;
           int stu_score;
           if(ae.getSource()==btnCancel)
           {
              this.dispose();
          } 
           else if(ae.getSource()==btnAdd)
                   {
                      try
                       {
                           Class.forName("com.mysql.jdbc.Driver");
                           }
                          catch(ClassNotFoundException e){   
                          }
                           try{con=DriverManager.getConnection("driver","user","passwd");
                           sql=con.createStatement();
                           username=txtName.getText();
                           stu_time=txtDate.getText();
                           stu_score=Integer.parseInt(txtScore.getText());
                     // recode="("+"'"+username+"'"+","+"'"+stu_time+""+"',"+stu_score+")";
                       //   insert1="insert into student values "+recode;
                           insert1="insert into student values(?,?,?)";
                           sql.executeUpdate(insert1);
                           System.out.println("记录添加完毕!");
                           btnAdd.setEnabled(false);
                           txtName.setText("");
                           txtScore.setText("");
                           txtDate.setText("");
                           con.close();
                       }
                          catch(SQLException e){
                           }
                   }
           }
               public static void main(String[] args) 
               {
                   new AddForm();
              }
    }
    

    删除数据设计

    package com.studensystem;
    
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import com.studensystem.SqlHelper;
    public class DeleteForm extends JFrame implements ActionListener
    {
        JLabel labName=new JLabel("姓名:");
        JLabel labDate=new JLabel("出生日期:");
       JLabel labScore=new JLabel("成绩:");
       JTextField txtName=new JTextField(20);
       JTextField txtDate=new JTextField(18);
       JTextField txtScore=new JTextField(20);
       JButton btnDelete=new JButton("删除");
       JButton btnCancel=new JButton("取消");
       JButton btnQuery=new JButton("查询");
       JPanel pan=new JPanel();
      JPanel pan1=new JPanel();
      JPanel pan2=new JPanel();
       JPanel pan3=new JPanel();
      JPanel pan4=new JPanel();
       Connection con;
       Statement sql;
       ResultSet rs;
       DeleteForm()
       {
           super("删除数据");
          setSize(400,300);
           pan1.add(labName);
          pan1.add(txtName);
          pan2.add(labDate);
           pan2.add(txtDate);
           pan3.add(labScore);
           pan3.add(txtScore);
           pan4.add(btnQuery);
           pan4.add(btnDelete);
           pan4.add(btnCancel);
           pan.setLayout(new GridLayout(3,1));
          pan.add(pan1);
           pan.add(pan2);
           pan.add(pan3);
           getContentPane().add(pan,"Center");
           getContentPane().add(pan4,"South");
           btnQuery.addActionListener(this);
           btnDelete.addActionListener(this);
           btnCancel.addActionListener(this);
           btnDelete.setEnabled(false);//取消删除按钮的功能
           txtDate.setEditable(false);
          txtScore.setEditable(false);
           setVisible(true);
           txtName.requestFocus();
       }
       public void actionPerformed(ActionEvent ae)
       {
           if(ae.getSource()==btnCancel)
           {
               dispose();
         } 
          else if(ae.getSource()==btnQuery){      //实现查询功能
             try
              {
                   Class.forName("com.mysql.jdbc.Driver");}
              catch(ClassNotFoundException e){   
               }
                 try{con=DriverManager.getConnection("driver","user","passwd");
                  sql=con.createStatement();
                  rs=sql.executeQuery("select * from student where username='"+txtName.getText()+"'");
                  if(rs.next())
                  {
                     txtName.setText(rs.getString("姓名"));
                      txtScore.setText(new Integer(rs.getInt("成绩")).toString());
                       txtDate.setText(rs.getDate("出生日期").toString());
                      btnDelete.setEnabled(true);//使删除按钮功能实现
                       txtDate.setEditable(true);
                      txtScore.setEditable(true);
                }else{
                      System.out.println("不存在该记录!");
                      btnDelete.setEnabled(false);
                     txtName.setText("");
                      txtScore.setText("");
                       txtDate.setText("");
                       txtDate.setEditable(false);
                       txtScore.setEditable(false);
                   }
               }catch(SQLException e){
               }
           }
                   else if(ae.getSource()==btnDelete)        //实现删除功能
                   {
                       try
                       {
                          System.out.println("update  student set stu_time='"+txtDate.getText()+"',stu_score="+txtScore.getText()+" where username='"+txtName.getText()+"'");
                          sql.executeUpdate("delete from  student where username='"+txtName.getText()+"'");
                          System.out.println("记录删除完毕!");
                          btnDelete.setEnabled(false);
                          txtName.setText("");
                           txtScore.setText("");
                          txtDate.setText("");
                           txtDate.setEditable(false);
                          txtScore.setEditable(false);
                          con.close();
                      }
                      catch(SQLException e){
                      }
                  }
         }
              public static void main(String[] args) 
              {
                  new DeleteForm();
              }
    }
    
    

    修改界面设计

    import javax.swing.*;
    import com.studensystem.SqlHelper;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    public class ModifyForm extends JFrame implements ActionListener
    {
        JLabel labName=new JLabel("姓名:");
        JLabel labDate=new JLabel("出生日期:");
       JLabel labScore=new JLabel("成绩:");
       JTextField txtName=new JTextField(20);
      JTextField txtDate=new JTextField(18);
      JTextField txtScore=new JTextField(20);
      JButton btnModify=new JButton("修改");
       JButton btnCancel=new JButton("取消");
       JButton btnQuery=new JButton("查询");
       JPanel pan=new JPanel();
       JPanel pan1=new JPanel();
       JPanel pan2=new JPanel();
       JPanel pan3=new JPanel();
       JPanel pan4=new JPanel();
       Connection con;
       Statement sql;
      ResultSet rs;
      ModifyForm()
      {
          super("修改数据");
          setSize(400,300);
           pan1.add(labName);
          pan1.add(txtName);
          pan2.add(labDate);
          pan2.add(txtDate);
          pan3.add(labScore);
         pan3.add(txtScore);
           pan4.add(btnQuery);
           pan4.add(btnModify);
         pan4.add(btnCancel);
           pan.setLayout(new GridLayout(3,1));
           pan.add(pan1);
          pan.add(pan2);
          pan.add(pan3);
          getContentPane().add(pan,"Center");
          getContentPane().add(pan4,"South");
          btnQuery.addActionListener(this);
           btnModify.addActionListener(this);
          btnCancel.addActionListener(this);
           btnModify.setEnabled(false);
           txtDate.setEditable(false);
           txtScore.setEditable(false);
           setVisible(true);
           txtName.requestFocus();
       }
       public void actionPerformed(ActionEvent ae){
           if(ae.getSource()==btnCancel){
                  dispose();
           } else if(ae.getSource()==btnQuery){
               try{
                   Class.forName("com.mysql.jdbc.Driver");}
               catch(ClassNotFoundException e){   
               }
                try{con=DriverManager.getConnection("driver","user","passwd");
                   sql=con.createStatement();
                   rs=sql.executeQuery("select * from student where username='"+txtName.getText()+"'");
                   if(rs.next()){
                      txtName.setText(rs.getString("姓名"));
                       txtScore.setText(new Integer(rs.getInt("成绩")).toString());
                       txtDate.setText(rs.getDate("出生日期").toString());
                       btnModify.setEnabled(true);
                       txtDate.setEditable(true);
                      txtScore.setEditable(true);
                  }else{
                      System.out.println("不存在该记录! ");
                       btnModify.setEnabled(false);
                      txtName.setText("");
                      txtScore.setText("");
                      txtDate.setText("");
                       txtDate.setEditable(false);
                       txtScore.setEditable(false);
                   }
              }catch(SQLException e){
              }
        }else if(ae.getSource()==btnModify){
              try{
                   System.out.println("update  student set stu_time='"+txtDate.getText()+"',stu_score="+txtScore.getText()+" where username='"+txtName.getText()+"'");
                  sql.executeUpdate("update  student set stu_time='"+txtDate.getText()+"',stu_score="+txtScore.getText()+" where username='"+txtName.getText()+"'");
                  System.out.println("记录修改完毕!");
                   btnModify.setEnabled(false);
                   txtName.setText("");
                   txtScore.setText("");
                   txtDate.setText("");
                   txtDate.setEditable(false);
                  txtScore.setEditable(false);
                  con.close();
               }catch(SQLException e){
              }
          }
       }
       public static void main(String[] args) {
           new ModifyForm();
      }
    }
    

    按名字查询数据

    package com.studensystem;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.JTableHeader;
    import com.studensystem.SqlHelper;
    public class NameQueryForm extends JFrame implements ActionListener
    {
       JLabel labScore=new JLabel("请输入成绩:");
      JTextField txtScore=new JTextField(10);
       JButton btnQuery=new JButton("查询");
       JPanel pan1=new JPanel();
       JPanel pan2=new JPanel();
       String []str={"姓名","出生日期","成绩"};
       Object[][] data=new Object[10][3];
       JTable table=new JTable(data,str);
       JTableHeader head=table.getTableHeader();
       JScrollPane jsp=new JScrollPane(table);        //滚动
      Connection con;
       Statement sql;
       ResultSet rs;
       NameQueryForm()
       {
           super("按名字查询");
           setSize(400,300);
           pan1.add(labScore);
           pan1.add(txtScore);
          pan1.add(btnQuery);                        //以上3条在第一个面板加入内容
          getContentPane().add(pan1,"North");        //把面板1放到窗口顶部
          pan2.setLayout(new BorderLayout());
           pan2.add(head,"North");            //将表头放在面板2的顶部
           pan2.add(jsp,"Center");            //表格放在pan2中间
           getContentPane().add(pan2,"Center");//把面板2整体加入到主窗口中
           btnQuery.addActionListener(this);  //增加查询按钮的监视器
           setVisible(true);
       }
       public void actionPerformed(ActionEvent ae){
           if(ae.getSource()==btnQuery){
               int i,j,row;
    
               try{
                   Class.forName("com.mysql.jdbc.Driver");}
               catch(ClassNotFoundException e){   
               }
               try{  con=DriverManager.getConnection("driver","user","passwd");
                   sql=con.createStatement();
                   rs=sql.executeQuery("select COUNT(*) as rowcount from student where stu_score="+txtScore.getText());                   //寻找相同成绩的行数
                   rs.next();                                        //去掉头
                  row=rs.getInt("rowcount");                    
                  rs.close();
                   data=new Object[row][3];
                   rs=sql.executeQuery("select * from student where stu_score="+txtScore.getText());
                   i=0;j=0;
                  while(rs.next()){
                       data[i][j++]=rs.getString("姓名");
                       data[i][j++]=rs.getDate("出生日期");
                       data[i][j]=new Integer(rs.getInt("成绩"));//将数据库中查询到的信息保存到data中
                       i++;j=0;
                   }
                  pan2.removeAll();
                  getContentPane().remove(pan2);
                 table=new JTable(data,str);
                   pan2.setLayout(new BorderLayout());
                  head=table.getTableHeader();
                   jsp=new JScrollPane(table);
                   pan2.add(head,"North");
                   pan2.add(jsp,"Center");
                   getContentPane().add(pan2,"Center");
                   this.validate();
                   con.close();
               }catch(SQLException e){
               }
           }
       }
       public static void main(String[] args) {
           new NameQueryForm();
      }
    }
    

    按成绩查询数据

    package com.studensystem;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.JTableHeader;
    import com.studensystem.SqlHelper;
    public class ScoreQueryForm extends JFrame implements ActionListener
    {
       JLabel labScore=new JLabel("请输入成绩:");
       JTextField txtScore=new JTextField(10);
       JButton btnQuery=new JButton("查询");
       JPanel pan1=new JPanel();
       JPanel pan2=new JPanel();
       String []str={"姓名","出生日期","成绩"};
       Object[][] data=new Object[10][3];
       JTable table=new JTable(data,str);
       JTableHeader head=table.getTableHeader();
       JScrollPane jsp=new JScrollPane(table);        //滚动
       Connection con;
       Statement sql;
       ResultSet rs;
       ScoreQueryForm()
       {
           super("按成绩查询");
           setSize(400,300);
           pan1.add(labScore);
          pan1.add(txtScore);
           pan1.add(btnQuery);                        //以上3条在第一个面板加入内容
           getContentPane().add(pan1,"North");        //把面板1放到窗口顶部
           pan2.setLayout(new BorderLayout());
           pan2.add(head,"North");            //将表头放在面板2的顶部
           pan2.add(jsp,"Center");            //表格放在pan2中间
           getContentPane().add(pan2,"Center");//把面板2整体加入到主窗口中
           btnQuery.addActionListener(this);  //增加查询按钮的监视器
           setVisible(true);
       }
       public void actionPerformed(ActionEvent ae){
           if(ae.getSource()==btnQuery){
               int i,j,row;
               try{
                   Class.forName("com.mysql.jdbc.Driver");}
               catch(ClassNotFoundException e){   
               }
               try{  
                   con=DriverManager.getConnection("driver","user","passwd");
                  sql=con.createStatement();
                   rs=sql.executeQuery("select COUNT(*) as rowcount from student where  stu_score="+txtScore.getText());                   //寻找相同成绩的行数
                   rs.next();                                        //去掉头
                   row=rs.getInt("rowcount");                    
                   rs.close();
                 data=new Object[row][3];
                  rs=sql.executeQuery("select * from student where  stu_score="+txtScore.getText());
                   i=0;j=0;
                   while(rs.next()){
                       data[i][j++]=rs.getString("姓名");
                      data[i][j++]=rs.getDate("出生日期");
                       data[i][j]=new Integer(rs.getInt("成绩"));//将数据库中查询到的信息保存到data中
                       i++;j=0;
                   }
                  pan2.removeAll();
                 getContentPane().remove(pan2);
                table=new JTable(data,str);
                   pan2.setLayout(new BorderLayout());
                   head=table.getTableHeader();
                   jsp=new JScrollPane(table);
                   pan2.add(head,"North");
                   pan2.add(jsp,"Center");
                   getContentPane().add(pan2,"Center");
                   this.validate();
                   con.close();
               }catch(SQLException e){
               }
           }
       }
       public static void main(String[] args) {
          new ScoreQueryForm();
       }
    }
    
    

    连接数据库操作

    package com.studensystem;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;  
    
    public class SqlHelper {  
        //========数据库  
        private Connection ct = null;  
        private PreparedStatement ps = null;  
       private ResultSet rs = null;  
       private String driver = "com.mysql.jdbc.Driver";  //后面加上utf-8 不然中文乱码
       private String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";  
       private String user = "root";  
       private String passwd = "";  
    
    
       //========查询  
       public ResultSet queryExecute(String sql, String []paras)  
       {  
           try {  
               //========1、加载驱动  
              Class.forName(driver);  
               //========2、连接  
               ct = DriverManager.getConnection(url, user, passwd);  
               //========3、创建PreparedStatement  
               ps = ct.prepareStatement(sql);  
               //========4、给问号赋值  
               if(paras != null) {  
                   for(int i = 0; i < paras.length; i++) {  
                       ps.setString(i + 1, paras[i]);  
                   }  
               }  
               //========5、执行  
               rs = ps.executeQuery();  
           } catch (Exception e) {  
               // TODO: handle exception  
               e.printStackTrace();  
           } finally {  
               //this.close();  
           }  
           //========返回值  
           return rs;  
       }  
    
       //========增删改  
       public boolean cudExecute(String sql, String []paras)  
       {  
           boolean b = true;  
           try {  
               //========1、加载驱动  
               Class.forName(driver);  
               //========2、连接  
               ct = DriverManager.getConnection(url, user, passwd);  
               //========3、创建PreparedStatement  
              ps = ct.prepareStatement(sql);  
               //========4、给问号赋值  
               for(int i = 0; i < paras.length; i++) {  
                  ps.setString(i + 1, paras[i]);  
               }  
               //========5、执行  
               if(ps.executeUpdate() != 1) b = false;  
           } catch (Exception e) {  
               // TODO: handle exception  
               b = false;  
               e.printStackTrace();  
           } finally {  
               this.close();  
           }  
           //========返回值  
           return b;  
       }  
    
       //========关闭资源  
       public void close()  
       {  
           try {  
               if(rs!=null) rs.close();  
               if(ps!=null) ps.close();  
               if(ct!=null) ct.close();  
           } catch (Exception e2) {  
               // TODO: handle exception  
               e2.printStackTrace();  
          }  
       }  
    
    }  
    
    

    截图演示
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    下载链接:https://download.csdn.net/download/qq_40861561/11287146

    展开全文
  • 1.学生类 包括学生的姓名和各科成绩 public class Score { public String name; public double EnglishGrade, MathGrade,phyicalGrade, chemicalGrade,biologicalGrade; Score() { } public Score(String ...
  • JAVA学生成绩管理系统

    2020-07-22 23:34:34
    JAVA做的学生成绩管理系统,SWING做的界面。SQLServer数据库.初学JAVA,如果有见到我程序的朋友,见笑了。偶是菜鸟,对JAVA只有一点认识。 热爱JAVA的朋友,共同学习进步啦!祝愿大家都学好JAVA
  • 在慕课网学习的时候遇到了这样一个Java编程练习题,正好对所学习Java基础知识检验一下: 请根据所学知识,编写一个Java程序,实现输出考试成绩的前三名 要求: 1考试成绩已保存在数组scores中,数组元素依次为89...
  • 7-2 sdust-Java-学生成绩读取与排序 (8 分) ** 1)从键盘录入多行学生成绩的信息,每行表示一个学生的一门课的成绩,最后一行以“exit”结束。每行文本的格式为:学号,姓名,课程名,成绩。程序能够读取学生及其成绩...
  • Java 成绩的等级输出

    2019-01-17 20:06:44
    输入一个百分制的成绩t后,按下式输出它的等级。等级为:90~100为A,80~89为B,70~79为C,60~69为D,0~59为E。 样例输入 98 样例输出 A 代码: import java.util.Scanner; public class Test { public ...
  • 难度不大,大家可以下来多敲几次,不要死记,要学会灵活应用,加油哦 1.if-else if-esle语句实现 package new_java_up; import java.util.Scanner;... System.out.println("请输入成绩:"); ...
  • Java学生成绩管理系统

    2020-06-11 17:13:01
    目录 引言 开发环境 所用技术 项目目录 数据库设计 ...这是当时刚学完SpringMVC、...这也是我用框架写的第一个项目,所以有很多不足之处,希望大家可以指出,一起交流学习。 开发环境 开发工具:Eclipse、jdk1....
  • http://www.toutiao.com/a6347983877567791361/?tt_from=mobile_qq&utm_campaign=client_share&app=explore_article&utm_source=mobile_qq&iid=5840657922&utm_medium=toutiao_ios
  • 功能需求:自定义班级数量以及每个班级的学生人数,输入学生的成绩后,自动计算该班级的平均分 代码实现 package com.haha; import java.util.Scanner; public class demo { public static void main(String[] ...
  • java毕业设计学生管理系统 系统功能 系统角色:管理员、学生、老师 不同角色登录系统后可以对信息进行增删改查 老师可以登录学生的成绩 管理员可以对班级、老师、学生进行信息修改等等功能 系统技术 系统环境:...
  • Java入门-学生成绩管理系统(一)1、项目适合人群: 刚开始学习Java的同学,本文只有最最基础的Java知识。适合Java入门的第一个项目。因为认为最开始学习一门语言就是做一个成绩管理系统。作者仅为在校大学生,能力...
  • 1.学生 有属性 id, 密码,性别,年龄,和一个存放成绩的集合(因为一个学生可能会有多个科目,所以用集合来存放学生的所学科目)。 2.老师 有属性 id,密码,性别,年龄,和一成绩类的对象(考虑到老师只
  • java新手学习感想

    2019-03-22 07:37:25
    本人是大一的新生,学习java也有半年了,在学习中有许多体会,在这里和大家分享一下。 一-java的第一课 还记得才开始进入大学那一天,就给自己定了一个鸿鹄之志,决定一定要把java学好成为一位大佬,能够毕业后...
  • 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 思路分析: 利用(a>b)?a:b条件运算符来处理。 代码如下: package mytest; import java....
  • java学习曲线建议

    2019-07-28 13:10:51
    前言 进入IT领域,就像进入大海—浩瀚而广阔。然而,它又很容易让人迷茫,不知所措。所以,在IT的海洋中,找好一艘船特别重要,这艘船带你前进、减少迷失。这艘船或许是一个人,或一本书,又或许是一篇文章。...
  • JAVA学生成绩管理系统(附源码 毕业设计 课程设计) 可直接运行。做毕业设计、课程设计或者想研究下技术的可以下载学习。需要更多资源的可以关注我。
1 2 3 4 5 ... 20
收藏数 33,404
精华内容 13,361
关键字:

java查询学习成绩