以面向设计来设计的学生管理系统(java实现)

执行结果如图所示:


        图1-1页面主菜单


  图1-2   进入管理员登陆


(1)主函数

package com.iss.stumanage;

import java.util.Scanner;
import com.iss.stumanage.Teacher;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("欢迎来到学生管理系统");
		Menu menu=new Menu();
		menu.topMenu();//显示主菜单
		Scanner sin=new Scanner(System.in);
		String x=sin.next();
		menu.choosestr(x);//调用第一次选择的方法
		     
		     
		     
		     
		     
		    

	}

	 

}

(2)新建一个菜单类,里面包括管理员菜单,教师菜单,学生菜单和管理员选择所调用的方法,教师选择的方法,学生选择的方法

package com.iss.stumanage;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
import com.iss.stumanage.Teacher;

public class Menu {
	DBUtil db = new DBUtil();
	Login l = new Login();
	Student stu=new Student();
stumark sm=new stumark();
	Teacher t = new Teacher();

	public void topMenu() {//主菜单

		System.out.println("1.管理员登陆");
		System.out.println("2.教师登陆");
		System.out.println("3.学员登陆");
		System.out.println("4.退出系统");
		System.out.println("请输入你的选择");
	}

	public void teachMenu() {//教师菜单
		System.out.println("1.添加学员基本信息");
		System.out.println("2.添加学员成绩信息");

		System.out.println("3.返回主菜单");

	}

	public void adminMenu() {//管理员菜单
		System.out.println("1.添加教师信息");
		System.out.println("2.添加教师登陆信息");
		System.out.println("3.返回上一级菜单");
	}

	public void studentMenu() {//学生菜单
		System.out.println("1.根据姓名查询成绩");
		System.out.println("2.根据学号查询成绩");

		System.out.println("3.查看学员基本信息");
		
		System.out.println("4.退出系统");

	}
	public String stuchoose(String str)//学生选择
	{
		switch (str) {

		case "1"://通过姓名查询成绩
			System.out.println("请输入你的姓名");
			Scanner sin=new Scanner(System.in);
		    String stuname=sin.next();
			sm.checkgradebyname(stuname);

			break;
		case "2"://通过学号查询成绩
			Scanner sin2=new Scanner(System.in);
		    String stunum=sin2.next();
			sm.checkgradebynum(stunum);
			
			break;
		case "3"://显示学生所有信息
			Scanner sin5=new Scanner(System.in);
		    String sname=sin5.next();
		     stu.checkinformation(sname);
			break;
		case "4":
			topMenu();
			Scanner sin4 = new Scanner(System.in);
			String x = sin4.next();
			choosestr(x);
			break;
		}

		return null;

		
		
	}
	public String teacherchoose(String str)//教师选择
	{
		switch (str) {

		case "1"://添加学生

			stu.addstudent();
			
			System.out.println("1.主菜单菜单");
			System.out.println("2.退出系统");
			Scanner xx=new Scanner(System.in);
			String x=xx.next();
			switch(x)
			{case "1":
            topMenu();
            Scanner sin7=new Scanner(System.in);
			String x4=sin7.next();
            choosestr(x4);
            break;
			case "2":
				System.exit(0);
				break;
			}
			break;
		case "2"://添加学生成绩

			sm.addstugrade();
			break;
		case "3"://返回主菜单
			topMenu();
			Scanner sin4 = new Scanner(System.in);
			String x2 = sin4.next();
			choosestr(x2);
		}

		return null;

		
		
	}
	public String adminchoose(String str) {//管理员选择
		switch (str) {

		case "1":

			t.addteacher();//添加教师信息

			break;
		case "2":

			t.teacherlogin();//添加教师登陆信息
			break;
		case "3":  //返回主菜单
			topMenu();
			Scanner sin4 = new Scanner(System.in);
			String x = sin4.next();
			choosestr(x);
		}

		return null;

	}

	public String choosestr(String str)// 第一次进入时选择
	{
		switch (str) {
		case "1":// 管理员登陆
			Scanner sin = new Scanner(System.in);

			System.out.println("请输入你的账号");
			String adminname = sin.nextLine();// 账号

			System.out.println("请输入你的密码");
			String adminpwd = sin.nextLine();// 密码
			l.adminLogin(adminname, adminpwd);

			break;
		case "2":// 教师登陆
			Scanner sin2 = new Scanner(System.in);

			System.out.println("请输入你的账号");
			String teaname = sin2.nextLine();// 账号
			l.teacherlogin(teaname);

			break;

		case "3":// 学生登录

			Scanner sin3 = new Scanner(System.in);

			System.out.println("请输入你的账号");
			String stuname = sin3.nextLine();// 账号

			
			l.stuLogin(stuname);

			break;
		case "4":
			System.exit(0);
			break;
	
		}
		return null;

	}

}
(3)数据库类

package com.iss.stumanage;

import java.sql.DriverManager;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSet;
import com.mysql.jdbc.Statement;

public class DBUtil {
	private final String url = "jdbc:mysql://127.0.0.1:3306/stumanage?user=root&password=sa";
	private Connection con = null;
	private Statement stmt = null;
	private ResultSet rs;

	public DBUtil() {

		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			con = (Connection) DriverManager.getConnection(url);

		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("DBUtil构造异常" + e.getMessage());
		}
	}

	public void execSQL(String sql) {
		try {
			if (con != null) {
				stmt = (Statement) con.createStatement();
				stmt.execute(sql);
				stmt.close();
			}
		}

		catch (Exception e) {
			// TODO: handle exception
			System.out.println("execSQL异常" + e.getMessage());
		}
	}

	public void execSQL2(String sql) {
		try {
			if (con != null) {
				stmt = (Statement) con.createStatement();
				java.sql.ResultSet rs = stmt.executeQuery(sql);

				stmt.close();
			}
		}

		catch (Exception e) {
			// TODO: handle exception
			System.out.println("execSQL异常" + e.getMessage());
		}

	}

	public ResultSet getRS(String sql) {

		try {
			if (con != null) {

				stmt = (Statement) con.createStatement();
				rs = (ResultSet) stmt.executeQuery(sql);
				return rs;
			}
			else{
				return null;
			}
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("getRS" + e.getMessage());
			return null;
		}
		

	}
	
}
(4)学生类

package com.iss.stumanage;

import java.sql.ResultSet;
import java.sql.SQLException;





public class Student {
DBUtil db=new DBUtil();
	private int id;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getStuName() {
		return stuName;
	}
	public void setStuName(String stuName) {
		this.stuName = stuName;
	}
	public int getStuSex() {
		return stuSex;
	}
	public void setStuSex(int stuSex) {
		this.stuSex = stuSex;
	}
	public String getStuAge() {
		return stuAge;
	}
	public void setStuAge(String stuAge) {
		this.stuAge = stuAge;
	}
	private String stuName;
	private int stuSex;
	private String stuAge;
	public void addstudent()
	{

    	this.setStuName("周qin");
    	this.setStuSex(1);
    	this.setStuAge("22");
    	String add_sql="insert into studentinfo (StuName,StuSex,StuAge)values('"+this.getStuName()+"','"+this.getStuSex()+"','"+this.getStuAge()+"')";;
    	System.out.println(add_sql);
	    db.execSQL(add_sql);
		String check_sql="select * from studentinfo ";
	    db.execSQL(check_sql);
	    ResultSet rs3=db.getRS(check_sql);
	
	    System.out.println("添加成功");
	    System.out.println("学生所有信息为:");
	    try {
			while(rs3.next())
			{
				System.out.println("学生姓名"+rs3.getString(2).toString()+"学生性别为"+rs3.getString(3).toString()+"年龄"+rs3.getString(4).toString());
			}
		}
	    
	    catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
	}
	public void checkinformation(String stuname)
	{
		
		
		
		String check_sql2="select * from studentinfo where StuName='"+stuname+"'";
	    db.execSQL(check_sql2);
	    ResultSet rs7=db.getRS(check_sql2);
	
	 
	    try {
			while(rs7.next())
			{
				System.out.println("学生姓名"+rs7.getString(2).toString()+"学生性别为"+rs7.getString(3).toString()+"年龄"+rs7.getString(4).toString());
   
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}

(5)教师类

package com.iss.stumanage;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;



public class Teacher {
	DBUtil db=new DBUtil();

		private int id;
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public int getSex() {
			return sex;
		}
		public void setSex(int sex) {
			this.sex = sex;
		}
		public String getSub() {
			return sub;
		}
		public void setSub(String sub) {
			this.sub = sub;
		}
		private int sex;
		private String name;

		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		private String sub;
		

public void addteacher()
{
	Teacher t=new Teacher();
	this.setName("小曾");
	this.setSex(1);
	this.setSub("数学");  
   String sql2="insert into teacherinfo (TeaSex,TeaName,TeaSub)values('"+this.getSex()+"','"+this.getName()+"','"+this.getSub()+"')";
    System.out.println(sql2);
    db.execSQL(sql2);
	String sql3="select * from teacherinfo ";
    db.execSQL(sql3);
    ResultSet rs2=db.getRS(sql3);

    System.out.println("添加成功");
    System.out.println("所有教师信息如下");
    try {
		while(rs2.next())
			{
						System.out.println("教师的编号为"+rs2.getString(1).toString()+"姓名"+rs2.getString(3).toString()+"所教科目"+rs2.getString(4));
						
					
			}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} 

	
	
	
}
public void teacherlogin()
{
	 Scanner sin3=new Scanner(System.in);
	 System.out.println("添加教师的账号");
	     String teaname=sin3.nextLine();//教师账号
     System.out.println("密码");
	     String teapwd=sin3.nextLine();//教师密码
     String sql4="insert into tealogin (TeaName,TeaPwd)values('"+teaname+"','"+teapwd+"')";
	 System.out.println("添加成功");
     System.out.println(sql4);
     db.execSQL(sql4);
    Menu mu=new Menu();
     mu.adminMenu();
     Scanner sin6=new Scanner(System.in);
     String x=sin6.next();
     mu.adminchoose(x);
     
     
			


}

}
(6)登录类

package com.iss.stumanage;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

import com.iss.stumanage.DBUtil;

public class Login {
	private String aName;

	public String getaName() {
		return aName;
	}

	public void setaName(String aName) {
		this.aName = aName;
	}

	public String getaPwd() {
		return aPwd;
	}

	public void setaPwd(String aPwd) {
		this.aPwd = aPwd;
	}

	private String aPwd;

	public void adminLogin(String adname, String adpwd) {//管理员登陆
		DBUtil db = new DBUtil();
		Menu mu = new Menu();

		try {
			String sql = "select * from stulogin where name='" + adname + "'and pwd='" + adpwd + "'";
			System.out.println(sql);

			ResultSet rs = db.getRS(sql);

			// System.out.println(rs.getString("name").toString());
			// if (rs.getRow() >= 1) {
			if (!rs.next())
			// while (rs.next()) {

			// if (rs.getString("name").equals(adname)) {
			{
				System.out.println("账号密码错误,请重新输入");
				mu.choosestr("1");

			}

			else {

				System.out.println("登录成功");
				System.out.println("请选择你接下来的选择");
				mu.adminMenu();
				Scanner sin = new Scanner(System.in);
				String x = sin.next();
				mu.adminchoose(x);

			}
		} catch (Exception e) {
			System.out.println("登录异常" + e.getMessage());
		}

	}
	public void stuLogin(String stuname)//学生登录
	{
		DBUtil db = new DBUtil();
		Menu mu = new Menu();

		try {
			String sql = "select * from studentinfo where StuName='" + stuname + "'";
			System.out.println(sql);
			ResultSet rs = db.getRS(sql);
            if (!rs.next())
            {
				System.out.println("账号密码错误,请重新输入");
				mu.choosestr("1");

			}

			else {

				System.out.println("登录成功");
				System.out.println("请选择你接下来的选择");
				mu.studentMenu();
				Scanner sin = new Scanner(System.in);
				String x = sin.next();
				mu.stuchoose(x);

			}
		} catch (Exception e) {
			System.out.println("登录异常" + e.getMessage());
		}

		
		
	}

	public void teacherlogin(String teachname) {
		DBUtil db = new DBUtil();
		Menu mu = new Menu();

		try {
			String sql = "select * from teacherinfo where TeaName='" + teachname + "'";
			System.out.println(sql);

			ResultSet rs = db.getRS(sql);
            if (!rs.next())
            {
				System.out.println("教师名不存在,请重新输入");
				mu.choosestr("2");

			}

			else {

				System.out.println("登录成功");
				System.out.println("请选择你接下来的选择");
				mu.teachMenu();
				Scanner sin = new Scanner(System.in);
				String x6 = sin.next();
				mu.teacherchoose(x6);

			}
		} catch (Exception e) {
			System.out.println("登录异常" + e.getMessage());
		}

	}

}

(7)成绩类

package com.iss.stumanage;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class stumark {
DBUtil db=new DBUtil();
		private double grade;
		private String stuName;

		public String getStuName() {
			return stuName;
		}
		public void setStuName(String stuName) {
			this.stuName = stuName;
		}
		public double getGrade() {
			return grade;
		}
		public void setGrade(double grade) {
			this.grade = grade;
		}
		public String getStuSub() {
			return stuSub;
		}
		public void setStuSub(String stuSub) {
			this.stuSub = stuSub;
		}
		public int getStuNum() {
			return stuNum;
		}
		public void setStuNum(int stuNum) {
			this.stuNum = stuNum;
		}
		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		private String stuSub;
		private int stuNum;
		private int id;
		

public void addstugrade()
{
	
	this.setGrade(99);
	this.setId(2);
	this.setStuNum(003);
	this.setStuSub("语文");
	this.setStuName("小刚");
	
	String add_Mark="insert into stumark (StuNum,StuSub,StuGrade,StuName)values('"+this.getStuNum()+"','"+this.getStuSub()+"','"+this.getGrade()+"','"+this.getStuName()+"')";;
	System.out.println(add_Mark);
    db.execSQL(add_Mark);
	String sql4="select * from stumark ";
    db.execSQL(sql4);
    ResultSet rs4=db.getRS(sql4);

    System.out.println("添加成功");
    System.out.println("所有学生成绩信息为");
    try {
		while(rs4.next())
		{
			System.out.println("学生学号"+rs4.getString(2).toString()+"学生科目为"+rs4.getString(3).toString()+"分数"+rs4.getString(4).toString()+"学生名字为"+rs4.getString(5).toString());
		}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
		
		
		
		
	}
public void checkgradebyname(String stuname)
{   
	String sql6="select * from stumark where StuName='"+stuname+"'";
    ResultSet rs6=db.getRS(sql6);
    db.execSQL2(sql6);
    try {
		while(rs6.next())
		{
		
		if(rs6.getString("StuName").equals(stuname))
		{System.out.println(rs6.getString(4));}
		}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

}
public void checkgradebynum(String num)
{
	
	String sql6="select * from stumark where StuNum='"+num+"'";
    ResultSet rs6=db.getRS(sql6);
    db.execSQL2(sql6);
    try {
		while(rs6.next())
		{
		
		if(rs6.getString("StuName").equals(num))
		{System.out.println(rs6.getString(2));}
		}
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
}



  运行结果如下





  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值