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

Wesley13
• 阅读 414
​

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;
    }
    
}
===================================================================================================
​
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());
            }
        }
    }
    
}

​
​

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java 复制Map对象(深拷贝与浅拷贝)
java复制Map对象(深拷贝与浅拷贝)CreationTime2018年6月4日10点00分Author:Marydon1.深拷贝与浅拷贝  浅拷贝:只复制对象的引用,两个引用仍然指向同一个对象
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java类的属性
java类是一个面向对象的思想!!!!!!!!!!!!首先我们来创建一个Student类packagecuteSnow;publicclassStudent{//学生类型的属性,所有创建的学生对象都有以下的属性publicStringid;//学号publ
虾米大王 虾米大王
2年前
java代码098
code098.javapackagepack03;//userInfopublicclasscode098privateStringname"";publicStringgetName()returnthis.name;publicvoidsetName(Stringname)this.namename;
Wesley13 Wesley13
3年前
Java开发者容易犯的十个错误
!(https://oscimg.oschina.net/oscnet/c9f00cc918684fbe8a865119d104090b.gif)Top1.数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:\java\List<StringlistArrays.asList(arr);Arr
Stella981 Stella981
3年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
4.25 继承的引入和概述
首先写两个代码://定义学生类classStudent{Stringname;intage;publicStudent(){}//getXxx()/setXxx()publicvoideat(){System.out.println("吃饭");}}//定义老师类classTeacher{