您的位置:首页 > 编程语言 > Java开发

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

2016-08-24 23:27 886 查看
执行结果如图所示:

        图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 tea
a8a5
cherinfo (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();
}
}
}


  运行结果如下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ja java 学生管理系统