JAVA程序设计-简单的学生信息管理系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA程序设计-简单的学生信息管理系统相关的知识,希望对你有一定的参考价值。

编写能够满足如下条件的程序
1 验证利用接口Set的实现HashSet来存储不重复的对象,可以存入String或int,double类型的值,并用Iterator显示其中的内容。在其中存入重复元素进行验证:size()的返回值并没有改变或Set中的内容并没有改变。
改变上述所使用的HashSet,改用可以排序的TreeSet,注意观察输出结果是否已排序。
2 声明Student类,该类实现Serializable接口以表明该类可以进行序列化。该类有姓名、学号(long)、课程名(String[],所有的学生都用相同的课程名,在定义的时候就进行初始化,可声明为static性质的变量)、课程成绩(double[])属性。比如课程名可以有"os"、"java"、"math"。在构造函数中进行姓名、学号、课程成绩变量的赋值。重写由Object继承来的toString方法以便以友好的格式显示自己的属性。
张三 12 os:90 java:90 math: 90
3 建立一个类,利用List来存储Student类,写完一个方法在main中写一段测试代码并运行以保证目前所做工作的正确性。有以下方法:
add(Student stu),可以向其中增加新的学生类;
dispAll方法,可以显示List中所有的学生信息;
add测试的方法:调用add方法增加一个Student,然后调用dispAll显示以表明已经增加该生。
findById(int id),可以按照学号来查找并显示符合条件的学生信息,查无该人的话显示错误信息;
findByName(String name)方法,可以按照姓名查找该学生,找到后显示其信息,查无此人显示错误信息。
delById(int id)方法,可以按照id删除该学生的信息,然后显示找到该人,即使查无此人,显示相应的错误信息;
save方法,利用ObjectOutputStream 来把list写入文件中;
load方法,利用ObjectInputStream来进行反序列化,得到以前保存的内容,注意要考虑如果以前没有保存内容时的情况,可显示错误信息。
4 在控制台显示以下内容:
1 显示所有学生信息
2 按学号查找
3 按姓名查找
4 按学号删除
5 保存
6 读入
7 退出
请输入数字(1-7)
用switch-case判断输入的内容。当输入2或4时,显示:
请输入学号:
当输入3时,显示:
请输入姓名:
5 (选做)在4的菜单中增加“添加学生”的功能,当选中该项时,分别显示信息,提示输入姓名、学号、各科的成绩,然后把该学生信息存入List中,并显示所有学生信息以证明信息已输入。

参考技术A 我们有这个小组作业。
不过还没写出来。。
分了任务的。。。
慢慢写好了。。。

用JD做吧。。既然你都列了这么多的条条框框,那你应该晓得大体怎么构建撒。。一个做有点工作量。不过感觉也不是不可能。。就像上学期做的JAVA记事本一样。。。头脑清醒。。多上百度。。哎。。就OK了。
参考技术B 你起码拿点钱出来吧 参考技术C http://download.csdn.net/source/315810
在这里可以下载到你要的,自己大致修改下就可以咯本回答被提问者采纳
参考技术D 呵呵,看看啊...
有结果有说一下...
我也去开公司....
第5个回答  2008-05-10 你不是在开玩笑吧
会编也不一定给你编阿
编出这个来就可以开公司了

Java 学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,毕业论文设计参考等

编写一个简单的学生管理信息系统。

在oracle中设计一张学生表,以学号作为关键字。

其他学生信息有:姓名、手机号。

 

在进入系统时,显示如下菜单:

**************************************************

=====欢迎进入学生管理信息系统=====

1. 新增学生

2. 修改学生

3. 删除学生

4. 查询学生

5. 退出系统

请选择(1-5):

**************************************************

(1) 新增学生功能:

**************************************************

=====新增学生=====

学号:

姓名:

手机号:

 

保存成功!

是否继续添加(y/n):

*************************************************

(2) 修改学生功能:

**************************************************

=====修改学生=====

请输入要修改的学生学号:111

 

该学生信息如下:

学生学号:111

学生姓名:张三

学生手机号:13333333333

 

请输入新的学生信息:

学生姓名:李四

学生手机号:13333333333

 

保存成功!

**************************************************

(3) 删除学生功能:

**************************************************

=====删除学生=====

请输入要删除的学生学号:111

 

该学生信息如下:

学生学号:111

学生姓名:张三

学生手机号:13333333333

 

是否真的删除(y/n):y

删除成功!

**************************************************

(4) 查询学生功能

**************************************************

=====查询学生=====

学生信息如下:

学号   姓名   手机号

111 张三   13333333333

222 李四   14444444444

**************************************************

编程思路:

一、定义一个学生管理类,内有增、删、改、查4个方法。

二、在main函数中,实例化学生管理类,并根据菜单的选项分别调用4个方法。

三、使用PreparedStatement的参数赋值,示例如下:

PreparedStatementpstmt = con.prepareStatement("insert into book values(?, ?, ?)");

pstmt.setString(1, "333");

pstmt.setString(2, "王五");

pstmt.setString(3, "15555555555");

pstmt.executeUpdate();

 (专业提供服务计算机毕业论文设计,点击本传送门

【实现过程】

1.数据库建stu表:

 

 

 

 

2.设计一个学生实体类(Stu.java)

 
package Stu;
//实体类,封装学生类数据
/**
 * @authorScatlett
 */
publicclassStu {
private String no;  //学号
private String name;  //姓名
private String phone;  //手机号

//getter setter
    public String getNo() {
        returnno;
    }
    publicvoidsetNo(String no) {
        this.no = no;
    }
    public String getName() {
        returnname;
    }
    publicvoidsetName(String name) {
        this.name = name;
    }
    public String getPhone() {
        returnphone;
    }
    publicvoidsetPhone(String phone) {
        this.phone = phone;
    }
    //无参构造函数
    public Stu() {
        super();
        // TODO Auto-generated constructor stub
      }
    //有参构造函数
    public Stu(String no, String name, String phone) {
        super();
        this.no = no;
        this.name = name;
        this.phone = phone;
     }
}
 

 

3.创建封装一个(DBUtil.java),用于连接到Oracle数据库

 
package Stu;

importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;

publicclassDBUtil {
    privatestaticfinal String DRIVER_NAME = "oracle.jdbc.driver.OracleDriver";
    privatestaticfinal String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
    privatestaticfinal String USER = "scott";
    privatestaticfinal String PASS = "tiger";

    publicstatic Connection getCon() throwsClassNotFoundException,
            SQLException {
        Connection con = null;

        Class.forName(DRIVER_NAME);

        con = DriverManager.getConnection(URL, USER, PASS);

        return con;
    }

    publicstaticvoid close(Connection con, Statement stmt, ResultSetrs) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (stmt != null) {
                stmt.close();
            }
            if (con != null) {
                con.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
 

 

4.创建一个学生管理数据访问对象(StuDao.java)

 
packagestudao;
//学生管理数据访问对象StuDao
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.ArrayList;
importjava.util.List;

importStu.DBUtil;
importStu.Stu;

publicclassStuDao {
    private Connection con;
    privatePreparedStatementpstmt;
    privateResultSetrs;
    
    //添加学生信息
publicboolean add(Stu stu) {
       String sql="insert into stu(stu_no,stu_name,phone) values(?,?,?)";
    try {
        con=DBUtil.getCon();
        pstmt=con.prepareStatement(sql);
        pstmt.setString(1, stu.getNo());
        pstmt.setString(2, stu.getName());
        pstmt.setString(3, stu.getPhone());
        pstmt.executeUpdate();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        returnfalse;
    } catch (SQLException e) {
        e.printStackTrace();
        returnfalse;
    } finally{
        DBUtil.close(con, pstmt, rs);
    }
    returntrue;
}

//查看学生列表(1所有)
public List<Stu> list() {
       List<Stu> list=newArrayList<Stu>();//是线性列表,ArrayList是
    
       String sql="select * from stu";
    
    try {
        con=DBUtil.getCon();
        pstmt=con.prepareStatement(sql);
//pstmt.executeUpdate();//用于增删改
        rs=pstmt.executeQuery();//用于查询
        while (rs.next()) {
            
//Stustu=new Stu(rs.getString("stu_no"),rs.getString("stu_name"),rs.getString("phone"));
            //上行写法亦可为:
            Stu stu=new Stu();
            stu.setNo(rs.getString("stu_no"));//取结果集里面学号这一列的值赋给
            stu.setName(rs.getString("stu_name"));
            stu.setPhone(rs.getString("phone"));
            
            list.add(stu);
        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    } finally{
        DBUtil.close(con, pstmt, rs);
    }
    return list;
}
//查看学生列表(2根据学生学号显示学生信息)
    public Stu findSomeone(String no) {
           Stu stu=null;
           String sql="select * from stu where stu_no=?";
        
        try {
            con=DBUtil.getCon();
            pstmt=con.prepareStatement(sql);
//pstmt.executeUpdate();//用于增删改
            pstmt.setString(1,no);
            rs=pstmt.executeQuery();//用于查询
            while (rs.next()) {
                
//Stustu=new Stu(rs.getString("stu_no"),rs.getString("stu_name"),rs.getString("phone"));
                //上行写法亦可为:
                stu=new Stu();
                stu.setNo(rs.getString("stu_no"));//取结果集里面学号这一列的值赋给
                stu.setName(rs.getString("stu_name"));
                stu.setPhone(rs.getString("phone"));
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally{
            DBUtil.close(con, pstmt, rs);
        }
        returnstu;
    }
//修改学生信息
publicboolean update(Stu stu) {
       String sql="update stu set stu_name=?,phone=? wherestu_no=?";
    try {
        con=DBUtil.getCon();
        pstmt=con.prepareStatement(sql);
        pstmt.setString(3, stu.getNo());
        pstmt.setString(1, stu.getName());
        pstmt.setString(2, stu.getPhone());
        pstmt.executeUpdate();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        returnfalse;
    } catch (SQLException e) {
        e.printStackTrace();
        returnfalse;
    } finally{
        DBUtil.close(con, pstmt, rs);
    }
    returntrue;
   }

//删除学生信息
publicboolean del(String id) {
       String sql="delete from stu where stu_no=?";
    try {
        con=DBUtil.getCon();
        pstmt=con.prepareStatement(sql);
        pstmt.setString(1,id);
        
        pstmt.executeUpdate();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
        returnfalse;
    } catch (SQLException e) {
        e.printStackTrace();
        returnfalse;
    } finally{
        DBUtil.close(con, pstmt, rs);
    }
    returntrue;
   }
}
 

 

5.学生信息管理系统的菜单选择实现

 
package Stu;
//学生信息管理系统的菜单选择
importjava.sql.Connection;
importjava.util.List;
importjava.util.Scanner;

importjavax.print.DocFlavor.INPUT_STREAM;

importorg.omg.CORBA.PUBLIC_MEMBER;

importstudao.StuDao;

publicclassStuManage {
    publicvoid  menu() {
        //1.打印菜单
        //2.输入菜单
        //3.switch菜单选择
        int choose;
        do {
            System.out.println("******************************");
            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("请选择(1-5):");
            
            Scanner scanner=new Scanner(System.in);
            choose=scanner.nextInt();
            System.out.println("******************************");
            switch (choose) {
            case 1:
                myAdd(); //菜单选择1,是新增学生
                break;
            case 2:
                myUpdate();  //菜单选择2,是修改学生
                break;
            case 3:
                myDel();  //菜单选择3,是删除学生
                break;
            case 4:
                myList();  //菜单选择4,是查询学生
                break;
            case 5:     //菜单选择5,是退出该系统
                System.out.println("您选择了退出系统,确定要退出吗?(y/n)");
                Scanner scan=new Scanner(System.in);
                String scanExit=scan.next();
                if(scanExit.equals("y")){
                System.exit(-1);
                System.out.println("您已成功退出系统,欢迎您再次使用!");
                }
                break;
            default:
                break;
            }
        } while (choose!=5);
    }
    
    //新增学生信息
    publicvoidmyAdd() {
        
        String continute;
        do {
            Scanner s=new Scanner(System.in);
            String no,name,phone;
            System.out.println("====新增学生====");
            System.out.println("学号:");
            no=s.next();
            System.out.println("姓名:");
            name=s.next();
            System.out.println("手机号:");
            phone=s.next();
            
            Stu stu=new Stu(no,name,phone);
            StuDaodao=newStuDao();
            boolean ok=dao.add(stu);
            if (ok) {
                System.out.println("保存成功!");
            }else {
                System.out.println("保存失败!");
            }
            System.out.println("是否继续添加(y/n):");
            Scanner scanner2=new Scanner(System.in);
            continute=scanner2.next();
        } while (continute.equals("y"));
    }
    
    //删除学生信息
    publicvoidmyDel(){
        Scanner s=new Scanner(System.in);
        String no;
        System.out.println("====删除学生====");
        System.out.println("请输入要删除的学生学号:");
        no=s.next();
        System.out.println("该学生的信息如下:");
        
        StuDaostuDao=newStuDao();
        System.out.println("学生学号:"+stuDao.findSomeone(no).getNo());
        System.out.println("学生姓名:"+stuDao.findSomeone(no).getName());
        System.out.println("学生手机号:"+stuDao.findSomeone(no).getPhone());
        
        System.out.println("是否真的删除(y/n):");
        Scanner scanner3=new Scanner(System.in);
        String x=scanner3.next();
        if (x.equals("y")) {
            Stu stu=new Stu(no,null,null);
            StuDaodao=newStuDao();
            boolean ok=dao.del(no);
            if (ok) {
                System.out.println("删除成功!");
            }else {
                System.out.println("删除失败!");
            }
        }
    }
    //修改学生信息
    publicvoidmyUpdate(){
        Scanner s=new Scanner(System.in);
        String no;
        System.out.println("====修改学生====");
        System.out.println("请输入要修改的学生学号:");
        no=s.next();
        System.out.println("该学生的信息如下:");
        StuDaostuDao=newStuDao();
        System.out.println("学生学号:"+stuDao.findSomeone(no).getNo());
        System.out.println("学生姓名:"+stuDao.findSomeone(no).getName());
        System.out.println("学生手机号:"+stuDao.findSomeone(no).getPhone());
        
        System.out.println("请输入新的学生信息:");
        Scanner stuUp=new Scanner(System.in);
        String name,phone;
        System.out.println("学生姓名:");
        name=stuUp.next();
        System.out.println("学生手机号:");
        phone=stuUp.next();
        Stu stu=new Stu(no,name,phone);
        StuDaodao=newStuDao();
        boolean ok=dao.update(stu);
        if (ok) {
            System.out.println("保存成功!");
        }else {
            System.out.println("保存失败!");
        }
    }
    //查询学生信息
    publicvoidmyList(){
        System.out.println("************************");
        System.out.println("====查询学生====");
        System.out.println("该学生的信息如下:");
        System.out.println("学号\\t姓名\\t手机号");
        StuDaostuDao=newStuDao();
        List<Stu> list=stuDao.list();
        for (Stu stuList:list) { //循环打印出查询结果
            System.out.println(stuList.getNo()+"\\t"+stuList.getName()+"\\t"+stuList.getPhone());
        }
        System.out.println("************************");
    }
}
 

 

6.最后编写一个主函数测试类

 
package Stu;
//主函数测试类
publicclass Main {
    /**
     * @paramargs
     */
    publicstaticvoid main(String[] args) {
        StuManage s=newStuManage();
        s.menu();
    }
}
 

 

 

 

7.程序测试结果截图:

 

(1)  新增学生信息

 

 

(2)  修改学生信息

 

 

 

 

(3)  删除学生信息

 

 

 

(4)  查询学生信息

 

 

 

以上是关于JAVA程序设计-简单的学生信息管理系统的主要内容,如果未能解决你的问题,请参考以下文章

Java 学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,毕业论文设计参考等

求用C语言编写一个简单的学生信息管理程序和课程设计报告

学生信息管理系统最简单源代码。

求用C语言编写一个简单的学生信息管理程序【 C++】网上之前有C 的好像

Java实现一个简单的学生信息管理系统

java学生选课系统