单纯对象与数组实现学生管理系统1.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[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 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 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 //判断键入值是否已经存在数组某个对象的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 //判断数组中对象的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)