栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用java编写学生管理系统(java面向对象程序开发及实战)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用java编写学生管理系统(java面向对象程序开发及实战)

今天分享一个简单的Java面向对象编程练习---学生管理系统

首先我们要写一个学生类,属性包含学号,姓名,年龄,居住地,有参无参的构造方法(此处可以Alt+insert(有些电脑需要加fn)直接进行构造~会让你节省很多时间),代码如下 

package com.one;

public class Student {
    //学号
    private String sid;
    //姓名
    private String name;
    //年龄
    private String age;
    //居住地
    private String address;

    public Student() {
    }

    public Student(String sid, String name, String age, String address) {
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

  2.第二步就是去编写学生管理系统啦

       创建学生对象,用于存储学生数据
 ArrayListarray=new ArrayList();

     2.主页面的编写(注意:用到循环是为了选择之后能够再次回到主页面)

 while (true) {
            //1.用输出语句完成主界面的编写
            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("请输入你的选择");

     3.键盘录入数据,通过switch语句完成操作的选择

  // 2.用scanner实现键盘录入数据
            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();

            //3.用swith语句完成操作的选择
            switch (line) {
                case "1":
//                    System.out.println("添加学生");
                    addStudent(array);
                    break;
                case "2":
//                    System.out.println("删除学生");
                    deleteStudent(array);
                    break;
                case "3":
//                    System.out.println("修改学生");
                    updateStudet(array);
                    break;
                case "4":
//                    System.out.println("查看所以学生");
                    FindallStudent(array);
                    break;
                case "5":
                    System.out.println("谢谢使用");
//                    break;
                    System.exit(0); //JVM退出

  可以看到case有方法调用,这里就是我们学生管理系统的功能了,分别是增删改查的简单功能,    这里我选择把方法直接写在本类里,废话少说,直接看代码吧!

  (1)添加学生

     

 public static void addStudent(ArrayList array) {
        //键盘录入学生对象所需要的数据,显示提示信息,提示要输入何种信息
        Scanner sc=new Scanner(System.in);

        //为了让sid在while循环外面被访问到,我们就把他定义在循环外
        String sid;
        //为了让程序能够回到这里,我们用循环来实现
        while (true) {
            System.out.println("请输入学生学号");
             sid=sc.nextLine();

            boolean flag=isUsed(array,sid);
            if (flag) {
                System.out.println("你输入的学号已经被占用,请重新输入");
            } else {
                break;
            }
        }



        System.out.println("请输入学生姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生年龄");
        String age=sc.nextLine();
        System.out.println("请输入学生居住地");
        String address=sc.nextLine();
        //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student s=new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
        //将学生对象添加到集合中去
        array.add(s);
        //给出添加成功提示
        System.out.println("添加学生成功");
    }

 注意:当我们去添加学生信息时,需要输入该学生学号,但是如果输入的学号重复,就会造成系统信息出错,此时我们需要定义一个判断学号是否被占用的方法。

 //定义一个方法,判断学号是否被使用
    public static boolean isUsed(ArrayList array,String sid) {
            //如果与集合中的某一个学生学号相同,返回true,反之false
          boolean flag=false;
          for (int i=0;i< array.size();i++) {
              Student s=array.get(i);
              if (s.getSid().equals(sid)) {
                  flag=true;
                  break;
              }
          }
          return flag;
    }

  (2)删除学生的方法

 //定义一个方法,用于删除学生
    public  static void deleteStudent(ArrayList array) {
        //键盘录入要删除的学生学号,显示提示信息
        Scanner sc=new Scanner(System.in);

        System.out.println("请输入你要删除的学生的学生学号");
        String sid=sc.nextLine();

        //在删除/修改学生操作之前,对学号是否存在进行判断
        //如果存在,显示学生信息
        //如果不存在,执行删除操作
       int index=-1;
       for (int i=0;i< array.size();i++) {
           Student s=array.get(i);
           if (s.getSid().equals(sid)) {
               index=i;
               break;
           }
       }
       if (index==-1) {
           System.out.println("该信息不存在,请重新输入");
       } else {
           array.remove(index);
           //给出删除学生的提示
           System.out.println("删除学生成功");
       }
    }

   (3)修改学生的方法

     

//定义一个方法,用于修改学生
    public  static void updateStudet(ArrayList array) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你要修改的学生的学号:");
        String sid= sc.nextLine();
        //键盘录入要修改的学生信息
        System.out.println("请输入学生新姓名:");
        String name= sc.nextLine();
        System.out.println("请输入学生新年龄:");
        String age= sc.nextLine();
        System.out.println("请输入学生新居住地:");
        String address= sc.nextLine();

        //创建学生对象
        Student s=new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);

        //遍历集合修改对应的学生信息
        for (int i=0;i< array.size();i++) {
            Student student=array.get(i);
            if (student.getSid().equals(sid)) {
                array.set(i,s);
                break;
            }
        }
        System.out.println("修改学生成功");
    }

  好啦,我们的学生管理系统就算写完了!!

  完整代码如下

package com.one;

//学生管理系统

import java.util.ArrayList;
import java.util.Scanner;


public class StudentManager {
    public static void main(String[] args) {
        //创建学生对象,用于存储学生数据
        ArrayListarray=new ArrayList();
        //4.用循环再次回到主界面
        while (true) {
            //1.用输出语句完成主界面的编写
            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("请输入你的选择");

            // 2.用scanner实现键盘录入数据
            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();

            //3.用swith语句完成操作的选择
            switch (line) {
                case "1":
//                    System.out.println("添加学生");
                    addStudent(array);
                    break;
                case "2":
//                    System.out.println("删除学生");
                    deleteStudent(array);
                    break;
                case "3":
//                    System.out.println("修改学生");
                    updateStudet(array);
                    break;
                case "4":
//                    System.out.println("查看所以学生");
                    FindallStudent(array);
                    break;
                case "5":
                    System.out.println("谢谢使用");
//                    break;
                    System.exit(0); //JVM退出

            }
        }
    }

    //定义一个方法,用于添加学生信息
    public static void addStudent(ArrayList array) {
        //键盘录入学生对象所需要的数据,显示提示信息,提示要输入何种信息
        Scanner sc=new Scanner(System.in);

        //为了让sid在while循环外面被访问到,我们就把他定义在循环外
        String sid;
        //为了让程序能够回到这里,我们用循环来实现
        while (true) {
            System.out.println("请输入学生学号");
             sid=sc.nextLine();

            boolean flag=isUsed(array,sid);
            if (flag) {
                System.out.println("你输入的学号已经被占用,请重新输入");
            } else {
                break;
            }
        }



        System.out.println("请输入学生姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生年龄");
        String age=sc.nextLine();
        System.out.println("请输入学生居住地");
        String address=sc.nextLine();
        //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student s=new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
        //将学生对象添加到集合中去
        array.add(s);
        //给出添加成功提示
        System.out.println("添加学生成功");
    }

    //定义一个方法,判断学号是否被使用
    public static boolean isUsed(ArrayList array,String sid) {
            //如果与集合中的某一个学生学号相同,返回true,反之false
          boolean flag=false;
          for (int i=0;i< array.size();i++) {
              Student s=array.get(i);
              if (s.getSid().equals(sid)) {
                  flag=true;
                  break;
              }
          }
          return flag;
    }
    //定义一个方法,用于查看所有学生信息
    public static void FindallStudent(ArrayList array) {
        //判断集合中是否有数据,如果没有显示提示信息
        if (array.size()==0){
            System.out.println("无信息,请先添加信息在查询");
            //为了让程序不在往下执行,给出return;
            return;
        }
        //显示表头信息
        System.out.println("学号ttt姓名tt年龄tt居住地");
        //将集合中的数据取出按照对应的格式显示学生信息,年龄显示补充“岁”
        for (int i=0;i< array.size();i++) {
            Student s= array.get(i);
            System.out.println(s.getSid()+"t"+s.getName()+"t"+s.getAge()+"岁tt"+s.getAddress());
        }
    }

    //定义一个方法,用于删除学生
    public  static void deleteStudent(ArrayList array) {
        //键盘录入要删除的学生学号,显示提示信息
        Scanner sc=new Scanner(System.in);

        System.out.println("请输入你要删除的学生的学生学号");
        String sid=sc.nextLine();

        //在删除/修改学生操作之前,对学号是否存在进行判断
        //如果存在,显示学生信息
        //如果不存在,执行删除操作
       int index=-1;
       for (int i=0;i< array.size();i++) {
           Student s=array.get(i);
           if (s.getSid().equals(sid)) {
               index=i;
               break;
           }
       }
       if (index==-1) {
           System.out.println("该信息不存在,请重新输入");
       } else {
           array.remove(index);
           //给出删除学生的提示
           System.out.println("删除学生成功");
       }
    }

    //定义一个方法,用于修改学生
    public  static void updateStudet(ArrayList array) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你要修改的学生的学号:");
        String sid= sc.nextLine();
        //键盘录入要修改的学生信息
        System.out.println("请输入学生新姓名:");
        String name= sc.nextLine();
        System.out.println("请输入学生新年龄:");
        String age= sc.nextLine();
        System.out.println("请输入学生新居住地:");
        String address= sc.nextLine();

        //创建学生对象
        Student s=new Student();
        s.setSid(sid);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);

        //遍历集合修改对应的学生信息
        for (int i=0;i< array.size();i++) {
            Student student=array.get(i);
            if (student.getSid().equals(sid)) {
                array.set(i,s);
                break;
            }
        }
        System.out.println("修改学生成功");
    }


}



  运行的效果图

 

  有问题可以留言哦,看到就会解答!!我们一起共同进步

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773190.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号