Java实现学生信息管理系统(借助Array List)

本文实例为大家分享了vue + element ui实现锚点定位的具体代码,供大家参考,具体内容如下

需求:   制作一个简单的学生信息管理系统

1、通过键盘选择操作进行添加学生(学号,姓名,性别,年龄,成绩)的信息,这些信息通过数组存储。

2、同时还可以进行:

(1)查询某个或全体学生信息;

(2)修改学生信息;

(3)删除学生信息的操作。

要求:有一定的优化,例如对用户输入信息是否符合要求的处理。

1.首先对学生的 学号,姓名,性别,年龄,成绩这五个信息进行定义,为了不让所有人都能访问到,所以权限都定义为private,通过getter、setter方法进行访问:

/**
 * 
 * 设置学生信息
 * 
 * @author Incentancy
 *
 */
public class Student {
    private String stuName;    
    private String stuNo;    
    private String gender;    
    private int age;    
    private int score;
 
    public String getStuName() {
        return stuName;
    }
 
    public void setStuName(String stuName) {
        this.stuName = stuName;
    }
 
    public String getStuNo() {
        return stuNo;
    }
 
    public void setStuNo(String stuNo) {
        this.stuNo = stuNo;
    }
 
    public String getGender() {
        return gender;
    }
 
    public void setGender(String gender) {
        this.gender = gender;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public int getScore() {
        return score;
    }
 
    public void setScore(int score) {
        this.score = score;
    }
    
}

2.然后在一个新类中添加对学生信息的增删改查操作,并且要求能对用户输入的数据进行初步的判断:

import java.util.ArrayList;
import java.util.Scanner;
 
import com.xt.eleventhHW.stu.Student;
 
public class StuData {   
        private ArrayList    
      stus = new ArrayList
     
      ();
        
        //static int index = 0;        
        Scanner scanner = new Scanner(System.in);
         
        /**
         * 增加学生信息
         * @param stu
         */
        public void addStu(Student stu){        
            stus.add(stu);
        }
        
        //输入学生信息
        public void append(){
             Student stu = new Student();
            
            /**
             * 通过封装方法,将学生信息赋给stus
             */
            stu.setStuName(name());            
            stu.setStuNo(stuNum());            
            stu.setGender(gender());            
            stu.setAge(age());            
            stu.setScore(score());            
            //将stu中的信息增添到stus中
            addStu(stu);
            
            System.out.println("学生信息已添加!");
            System.out.println();
        }
        
        
        //得到学生姓名
        public String name(){            
            String name;            
            System.out.println("请输入学生的姓名:");
            name = scanner.next();            
            return name;
        }
        
        
        //得到学生学号
        public String stuNum(){
            
            String stuNum;
            
            System.out.println("请输入学生的学号:");
            stuNum = scanner.next();           
            
            //如果学号不为11位,则重新输入,直到学号正确
            if(stuNum.length() != 11){
                System.out.println("您输入的学号有误!请重新输入!");
                stuNum();    
            }
                    
            //如果学号已存在,则重新输入,直到不存在
            for(int i = 0; i < stus.size(); i++){
                if(stuNum.equals(stus.get(i).getStuNo())){
                    System.out.println("该学号已存在!请重新输入!");
                    stuNum();
                    break;
                }
            }
            
            return stuNum;
        }
        
        //得到学生的性别
        public String gender(){
            
            String stuGender;
            
            System.out.println("请输入学生的性别:");
            stuGender = scanner.next();
            
            if(!stuGender.equals("男") && !stuGender.equals("女") ){
                System.out.println("您输入的学生性别有误!请重新输入!");
                gender();
            }
            
            return stuGender;
        }
        
        //得到学生的年龄
        public int age(){
            
            int stuAge;
            
            System.out.println("请输入学生的年龄:");
            stuAge = scanner.nextInt();
            
            if(stuAge < 0 || stuAge >=  80){
                System.out.println("您输入的年龄有误!请重新输入!");
                age();
            }
            
            return stuAge;
        }
        
        //得到学生的成绩
        public int score(){
            int stuScore;
            
            System.out.println("请输入学生的成绩:");
            stuScore = scanner.nextInt();
            
            if(stuScore < 0 || stuScore > 100){
                System.out.println("您输入的成绩有误!请重新输入!");
                score();
            }
            
            return stuScore;
        }
        
        
        /**
         * 
         * 删除学生信息
         * 
         * @param stuNo
         */
        public void delStu(){
            
            System.out.println("请输入您想删除的学号:");
            String stuNo = scanner.next();
            
            boolean isDel = false;
            
            for(int i = 0; i < stus.size(); i++){
                if(stuNo.equals(stus.get(i).getStuNo())){
                    isDel = true;
                    stus.remove(i);
                    break;
                }
            }
            
            if(isDel){
                System.out.println("删除操作已完成!");
            }else{
                System.out.println("无此学生信息!");
            }
        }
        
        
        /**
         * 修改学生信息:
         * 1.姓名
         * 2.学号
         * 3.性别
         * 4.年龄
         * 5.成绩
         * @param stu
         */
        public void updateStu(String stuNo){
            
            boolean flag = false;
            
            for(int i = 0; i < stus.size(); i ++){
                if(stuNo.equals(stus.get(i).getStuNo())){
                    
                    flag = true;
                    
                    information();
                    
                    switch(scanner.nextInt()){
                        case 1:
                            String name = name();
                            stus.get(i).setStuName(name);;
                            break;
                        case 2:
                            String stuNum = stuNum();
                            stus.get(i).setStuNo(stuNum);
                            break;
                        case 3:
                            String gender = gender();
                            stus.get(i).setGender(gender);
                            break;
                        case 4:
                            int age = age();
                            stus.get(i).setAge(age);
                            break;
                        case 5:
                            int score = score();
                            stus.get(i).setScore(score);
                            break;
                        case 0:
                            System.exit(0);
                    }
                    
                    break;
                }
                
                if(!flag)
                    System.out.println("您输入的学号不存在!");
            }
        }
        
        public void information(){
            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("请输入序号:");
        }
        /**
         * 根据学号查询学生信息
         * 如果存在,输出学生信息
         * @param stuNo
         */
        public void queryStuByStuNo(String stuNo){
            
            boolean flag = false;
            
            for(int i = 0; i < stus.size(); i ++){
                if(stuNo.equals(stus.get(i).getStuNo())){
                    System.out.println("姓名:" + stus.get(i).getStuName());
                    System.out.println("学号:" + stus.get(i).getStuNo());
                    System.out.println("性别:" + stus.get(i).getGender());
                    System.out.println("年龄:" + stus.get(i).getAge());
                    System.out.println("成绩:" + stus.get(i).getScore());
                    
                    System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+");
                    System.out.println("|\t姓名\t|\t\t学号\t\t|\t性别\t|\t年龄\t|\t成绩\t|");
                    System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+");
                    System.out.println("|\t" + stus.get(i).getStuName() + "\t|\t    " + stus.get(i).getStuNo() + "     \t|\t" + stus.get(i).getGender() + 
                            "\t|\t"  + stus.get(i).getAge() + "\t|\t" + stus.get(i).getScore() + "\t|");
                    System.out.println("+---------------+-------------------------------+---------------+---------------+---------------+");
                    
                    flag = true;
                }
            }
            
            if(!flag)
                System.out.println("该学号不存在!");
        }
}

3.再新建一个类,将这个类作为操作菜单,通过用户输入的数字调用之前的增删改查操作:

import java.util.Scanner;
 
public class SystemService {
    
    Scanner scanner = new Scanner(System.in);
    
    
    public void bulletin(){
        System.out.println("1.添加学生信息");
        System.out.println("2.删除学生信息");
        System.out.println("3.修改学生信息");
        System.out.println("4.查询学生信息");
        System.out.println("0.退出系统");
        
        System.out.println("请输入序号:");
    }
    
    public void serviceChoose(){
        
        StuData sd = new StuData();
        
        System.out.println("-----欢迎使用学生信息管理系统-----");
        
        while(true){
            
            bulletin();
            
            switch(scanner.nextInt()){
                
                case 1:
                    sd.append();
                    System.out.println();
                    break;
                case 2:
                    sd.delStu();
                    System.out.println();
                    break;
                case 3:
                    System.out.println("请输入要修改的学生的学号:");
                    sd.updateStu(scanner.next());
                    System.out.println();
                    break;
                case 4:
                    System.out.println("请输入要查询的学生的学号:");
                    sd.queryStuByStuNo(scanner.next());
                    System.out.println();
                    break;
                case 0:
                    System.exit(0);//退出系统
            }
        }
    }
}

4.最后写上主方法,就可以进行使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java实现学生管理系统(IO版)

    本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下 图解:  cade:  student.java /*  * 这是我的学生类  */ public class Student {     //学号     private String id;     //姓名     private String name;     //年龄     private String age;     //居住地     private String address;       

  • java实现简单的学生管理系统

    用Java如何实现一个用数组作为存储结构的简易的学生管理系统? 首先,我们定义一个student类,在其中添加私有化的成员变量,通过getter和setter方法进行调用 public class Students {     // 学号,姓名,性别,年龄,成绩     private String stuNo = " ";     private String stuName = " ";     private String gender = " &q

  • Java实现简单的学生教师管理系统

    本文实例为大家分享了Java实现学生教师管理系统的具体代码,供大家参考,具体内容如下 需求: 我们可以通过管理系统对学生和教师进行管理对象学生和教师进行增删改查等的功能 1.Student和Teacher的父类2.Student类3.Teacher类4.Utils工具类5.测试类 Student和Teacher的父类 public class Person {     private String id; // 编号     private String name; // 姓名     priv

  • java实现学生教师管理系统

    本文实例为大家分享了java实现学生教师管理系统的具体代码,供大家参考,具体内容如下 类设计 1.1 父类抽象类 成员属性: id(编号) name(姓名) sex(性别) birthday(生日) age(年龄-由生日计算得出) 构造方法: 无参构造 全参构造 成员方法: toString() 抽象方法: getType():由各子类实现,返回各自的"类型"字符串. getWork():由各子类实现,返回各自的"工作"字符串. 1.2 子类Student 构造方法

  • Java+Mysql学生管理系统源码

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

  • Java实现学生信息管理系统(使用数据库)

    Java基础—学生信息管理系统(使用数据库),供大家参考,具体内容如下 前一段时间写了学生信息管理系统(使用ArrayList),今天再来更新一下使用数据库的管理系统,总体上来说要比用ArrayList简便一些,同时输入的数据也能存储起来. 这次程序是在上一篇的基础上进行修改的,所以结构上来看十分相似. 在写程序之前,要先在MySQL上建立Student Info表. create table Student (     ID varchar(50) primary key not null,

  • JavaSwing实现小型学生管理系统

    本文实例为大家分享了JavaSwing实现小型学生管理系统的具体代码,供大家参考,具体内容如下 在项目中建立四个包,分别是com.wu.JavaBean.com.wuJavaDao.com.wu.JavaService.com.wu.JavaView 数据库表结构 学生表只有四个属性:学生姓名.学生性别.学生学号(主键).学生班级管理员表只有两个属性:管理员用户名(主键).管理员密码 这里笔者为了简单,学生表只写了四个属性,管理员表只写了两个属性. 在JavaBean新建Student和Root

  • Java基于MySQL实现学生管理系统

    本文为大家分享了Java基于MySQL实现学生管理系统,供大家参考,具体内容如下 因为实验室要交作业然后就做了一个学生管理系统,贴个代码纪念一下,做的太急界面什么的也比较差. 还有一些小细节没有完善不过还是能实现主要的功能的. Window是主界面 package First; import java.sql.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Window { pub

  • java实现简单学生成绩管理系统

    本文实例为大家分享了java实现学生成绩管理系统的具体代码,供大家参考,具体内容如下 /*  *@copyright by LzyRapx on 2016/4/12.  *@name:java学生成绩管理系统.  *@功能:学生相关信息,录入,查询,统计,修改等....  *@PS:图形界面的学生管理系统不要求就不做了.  */   import java.util.Scanner; import java.lang.*; import java.io.*; class Student {   

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

随机推荐