JAVA的学生管理系统

B站上黑马程序的课上讲的学生管理系统。自己写一遍!

首先是创建一个学生类,私有成员有学号,姓名,年龄,居住地。属于常见的格式,用set函数来给变量赋值,用get来实现获取。

public class Student {
    private String id;
    private String name;
    private String age;
    private String address;
    public Student(){}
    public Student(String id,String name,String age,String address)
    {
        this.id=id;
        this.name=name;
        this.age=age;
        this.address=address;
    }
    public String getId(){return id;}
    public void setId(String id){this.id=id;}
    public void setName(String name){this.name=name;}
    public String getName(){return name;}
    public void setAge(String age){this.age=age;}
    public String getAge(){return age;}
    public void setAddress(String address){this.address=address;}
    public String getAddress(){return address;}

}

进入正文:1.界面。界面用输出来完成,但是值得注意的是,用到了一个循环。使得这个界面可以重复出现。2.用switch语句来实现用数字代替功能的实现。注意case "5"中用到的System.exit(0)是用来退出Java虚拟机的(这里也可直接理解是退出while的死循环)

import java.util.ArrayList;
import java.util.Scanner;
public class studentmanerge{
    public static void main(String[]args){
       ArrayList<Student> array=new ArrayList<Student>();
       while(true) {
           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("请输入你的选择");
           Scanner sc = new Scanner(System.in);
           String line = sc.nextLine();
           switch (line) {
               case "1":
                   System.out.println("1.添加学生");
                   addStudent(array);
                   break;
               case "2": System.out.println("2.删除学生");
               deleteStudent(array);
               break;
               case "3":System.out.println("3.修改学生");
               update(array);
               break;
               case "4":           System.out.println("4.查看所有学生");
               findStudent(array);
               break;
               case "5":System.out.println("5.退出");
               System.exit(0);//退出java虚拟机

           }
       }

    }

添加学生的函数:这里需要注意的是,考虑该学生是否被重复添加!!所有又创建一个函数来判断是否被重复添加

public static boolean isused(ArrayList<Student> array,String id)
{
    boolean flag=false;
    for (int i = 0; i < array.size(); i++) {
        Student s=array.get(i);
        if(s.getId().equals(id))
        {
            flag=true;
            break;
        }
    }
    return flag;
}
public static void addStudent(ArrayList<Student> array)
{

    Scanner sc = new Scanner(System.in);
    String id;
    while(true) {
        System.out.println("请输入该学生的学号");
        id = sc.nextLine();
        boolean flag=isused(array,id);
        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.setId(id);
    s.setName(name);
    s.setAge(age);
    s.setAddress(address);
    array.add(s);
}

删除学生的函数

public static  void deleteStudent(ArrayList<Student> array)
    {
        System.out.println("请输入删除学生的学号");
        Scanner sc=new Scanner(System.in);
        String id=sc.nextLine();
        int index=-1;
        for (int i = 0; i <array.size() ; i++) {
            Student s=array.get(i);
            if(s.getId().equals(id))
            {
                index=i;
                break;
            }
        }
        if(index==-1)
        {
            System.out.println("没有添加该学生");
        }
        else
        {
            array.remove(index);
            System.out.println("删除成功");
        }

    }

修改学生信息的函数

 public  static  void update(ArrayList<Student> array)
    {
        System.out.println("请输入要修改学生的学号");
        Scanner sc=new Scanner(System.in);
        String id=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.setId(id);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
        int index=-1;
        for (int i = 0; i < array.size(); i++) {
            Student ss=array.get(i);
            if(ss.getId().equals(s.getId()))
            {
                index=i;
                array.set(index,s);
                break;
            }

        }
        System.out.println("修改成功");
    }

查看学生信息的函数

public static void findStudent(ArrayList<Student> array)
    {
        if(array.size()==0)
        {
            System.out.println("请先添加学生信息后再查看");
        }
        else
        {
            System.out.println("学号\t\t姓名\t年龄\t居住地\t");
            for (int i = 0; i <array.size() ; i++) {
                Student s=array.get(i);
                System.out.println(s.getId()+s.getName()+"  "+s.getAge()+"  "+s.getAddress());

            }
        }

    }

整体来说,这些函数代码的编写需要考虑仔细,比如该学生信息是否存在等等!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值