美文网首页
单纯对象与数组实现学生管理系统1.0

单纯对象与数组实现学生管理系统1.0

作者: 听风听雨oline | 来源:发表于2018-10-05 14:31 被阅读0次

    import java.util.Scanner;
    /**

    • @ 实现学员管理系统V1.0,采用数组来作为存储的数据结构,学员信息只需包含姓名和电话即可,要求学员姓名保持唯一性。

    • @author 万星明

    • @version 2.0

    • @time 2018-10-04
      /
      public class StudentAdmin {
      //创建全局输入对象
      static Scanner sc = new Scanner(System.in);
      /
      *

      • @param 主方法
        /
        public static void main(String[] args) {
        //通过Student类作为数据类型,生成一个容量20的数组
        Student stu[] = new Student[20];
        //对数组进行遍历,将每个元素new成Student对象
        for(int i=0;i<stu.length;i++) {
        stu[i] = new Student();
        }
        //调用菜单栏方法
        menu(stu);
        }
        /
        *
      • @param 菜单栏方法
        /
        public static void menu(Student[] stu) {
        System.out.println("*******学员管理系统V1.0*********");
        System.out.println("1、添加学员信息");
        System.out.println("2、删除学员信息");
        System.out.println("3、查询学员信息");
        System.out.println("4、退出");
        System.out.println("请输入您的选择:");
        int answer = sc.nextInt();
        //使用switch选择结构,对键入的值进行分别判断
        switch(answer) {
        case 1:
        addStu(stu);
        menu(stu);
        break;
        case 2:
        delStu(stu);
        menu(stu);
        break;
        case 3:
        findStu(stu);
        menu(stu);
        break;
        case 4:
        System.out.println("谢谢使用!");
        System.exit(0);
        break;
        default:
        System.out.println("你输入有误!");
        menu(stu);
        break;
        }
        }
        /
        *
      • @param 添加方法
        */
        public static void addStu(Student[] stu) {
        System.out.println("请输入学员姓名:");
        String name = sc.next();
        System.out.println("请输入学员联系电话:");
        String phoneNumber = sc.next();
        //定义一个布尔型变量,初值为false,对数组特定值进行查询判定
        boolean flag = false;
        //遍历数组stu,对数组中每个对象的name属性与键入的name对比
        for(int i=0;i<stu.length;i++) {
        if(stu[i].getName()!=null&&stu[i].getName().equals(name)) {
        //如果数组中有对象的name属性与键入的name相同,将flag变量赋值为true
        flag = true;
        }
        }
        //通过对flag变量进行判断,若为true,则数组中存在键入的姓名,进行相应操作
        if(flag==true) {
        System.out.println("该学员姓名已经存在,是否继续录入?(y/n)");
        String answer=sc.next();
        if(answer.equalsIgnoreCase("y")) {
        addStu(stu);
        }
        }else {
        //flag为false初值,即对stu数组进行遍历,若数组中有对象的name属性为null,则将键入的name属性赋值给予
        for(int i=0;i<stu.length;i++) {
        if(stu[i].getName()==null) {
        stu[i].setName(name);
        stu[i].setPhoneNumber(phoneNumber);
        System.out.println("添加成功!");
        break;
        }
        }
        }

      }
      /**

      • @param 删除方法
        */
        public static void delStu(Student[] stu) {
        System.out.println("请输入学员姓名:");
        String name = sc.next();
        //定义布尔变量,初值为false
        boolean flag= false;
        //对数组stu进行遍历,对数组中每个对象的name属性与键入的name对比
        for(int i=0;i<stu.length;i++) {
        //判断键入值是否已经存在数组某个对象的name属性中
        if(stu[i].getName()!=null&&stu[i].getName().equals(name)) {
        //存在,则将flag值赋true,将该对象的name属性、phoneNamber属性置null
        flag=true;
        stu[i].setName(null);
        stu[i].setPhoneNumber(null);
        System.out.println("删除成功!");
        break;
        }
        }
        //判断若数组中无对象的name属性与键入的相同
        if(flag==false) {
        System.out.println("该学员不存在,是否继续录入?(y/n)");
        String anwser = sc.next();
        if(anwser.equalsIgnoreCase("y")) {
        delStu(stu);
        }
        }

      }
      /**

      • @param 查询方法
        */
        public static void findStu(Student[] stu) {
        System.out.println("查询学员信息-->>");
        System.out.println("姓名"+"\t"+"电话");
        //对stu数组进行遍历
        for(int i=0;i<stu.length;i++) {
        //判断数组中对象的name属性不为空
        if(stu[i].getName()!=null) {
        //则输出该对象的name属性和phoneNamber属性
        System.out.println(stu[i].getName()+"\t"+stu[i].getPhoneNumber());
        }
        }
        }

    }

    ----------------------------------------分割线----------------------------------
    //Student对象类
    public class Student {
    private String name;
    private String phoneNumber;

    public Student() {
        
    }
    public Student(String name,String phoneNumber) {
        this.name = name;
        this.phoneNumber = phoneNumber;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getPhoneNumber() {
        return phoneNumber;
    }
    
    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
    

    }

    相关文章

      网友评论

          本文标题:单纯对象与数组实现学生管理系统1.0

          本文链接:https://www.haomeiwen.com/subject/rwdqaftx.html