IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Java练手(2)(学生管理系统简单实现) -> 正文阅读

[开发工具]Java练手(2)(学生管理系统简单实现)

一、前言

采用ArrayList动态数组,实现学生的增加、删除、修改、查找、退出
(主要目的是增加对ArrayList的理解与使用)

在这里插入图片描述

二、Student类

学生类中封装四个成员变量(学号、姓名、性别、年龄),设置相应的get和set方法

public class Student {
    //学号
    private String number;
    //姓名
    private String name;
    //性别
    private String sex;
    //年龄
    private String age;
    //get
    public String getNumber() {
        return number;
    }
    public String getName() {
        return name;
    }
    public String getSex() {
        return sex;
    }
    public String getAge() {
        return age;
    }
    //set
    public void setNumber(String number) {
        this.number = number;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public void setAge(String age) {
        this.age = age;
    }
}

如果用的编译器是IDEA,按ALT+INSERT可以快速生成四个封装属性的get和set方法

三、主类

1、思维导图

孩子不懂事,瞎画着玩的

在这里插入图片描述
2、展示界面信息

单独写个showInfo()方法展示界面信息

 //界面
    public static void showInfo(){
        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( )语句,按1-5显示不同的功能

while(true){
            //显示界面
            showInfo();
           String choice=scanner.nextLine();
           switch (choice){
               case "1"://添加学生信息
                   addStudent(studentArrayList);
                   break;
               case "2"://删除学生信息
                   delStudent(studentArrayList);
                   break;
               case "3"://修改学生信息
                    reviseStudent(studentArrayList);
                   break;
               case "4"://查看所有学生信息
                   showStudent(studentArrayList);
                   break;
               case "5":
                   System.out.println("感谢本次使用捏!");
                   System.exit(0);
           }
        }

4、添加学生信息

addStudent( ),studentArrayList .add( )方法,添加新学生信息

//添加学生
    public static void addStudent(ArrayList<Student> studentArrayList){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入学生的学号");
        String number=sc.nextLine();
        System.out.println("请输入学生的姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生的性别");
        String sex=sc.nextLine();
        System.out.println("请输入学生的年龄");
        String age=sc.nextLine();
        //创建学生对象
        Student stu=new Student();
        stu.setNumber(number);
        stu.setName(name);
        stu.setSex(sex);
        stu.setAge(age);
        studentArrayList.add(stu);
        System.out.println("添加学生成功了捏!");
    }

5、删除学生信息

根据想删除学生的学号进行遍历比对,采用equals( )方法

public static void delStudent(ArrayList<Student> studentArrayList) {
        if(studentArrayList.size()==0){
            System.out.println("都没人你删个番茄炒蛋锤!");
            return;
        }
        boolean flag = false;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入删除学生的学号");
        String delNum = sc.nextLine();
        for (int i = 0; i < studentArrayList.size(); i++) {
            Student stu = studentArrayList.get(i);
            if (stu.getNumber().equals(delNum)) {
                studentArrayList.remove(i);
                System.out.println("删除成功了捏!");
                break;
            }else
                System.out.println("查无此人捏!");
        }
    }

6、修改学生信息

通过学生学号来判断是否可以进行修改,将修改后的内容存入新对象s(Student s=new Student),若找到该学号则使用studentArrayList .set( )方法

public static void reviseStudent(ArrayList<Student> studentArrayList){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入需要修改学生的学号");
        String reviseNumber=sc.nextLine();
        System.out.println("请输入新姓名");
        String newName=sc.nextLine();
        System.out.println("请输入新性别");
        String newSex=sc.nextLine();
        System.out.println("请输入新年龄");
        String newAge=sc.nextLine();
        //创建学生对象
        Student s=new Student();
        s.setNumber(reviseNumber);
        s.setName(newName);
        s.setSex(newSex);
        s.setAge(newAge);
        for(int i=0;i<studentArrayList.size();i++){
            Student stu=studentArrayList.get(i);
            if(stu.getNumber().equals(reviseNumber)){
                studentArrayList.set(i,s);
                System.out.println("修改成功捏!");
                break;
            }else
                System.out.println("修改失败,我不到啊!");
        }
    }

7、查看所有学生

遍历输出即可,注意studentArrayList容量为0时的特殊情况

//查看学生
    public static void showStudent(ArrayList<Student> studentArrayList){
        //判断是否为空
        if(studentArrayList.size()==0){
            System.out.println("还没有信息捏,请添加数据!");
            return;
        }
        //表单栏
        System.out.println("学号\t\t\t姓名\t\t性别\t年龄");
        for (int index=0;index<studentArrayList.size();index++){
            Student stu=studentArrayList.get(index);
            System.out.println(stu.getNumber()+"\t\t"+stu.getName()+"\t\t"+stu.getSex()+"\t"+stu.getAge()+"岁");
        }
    }

四、运行截图

1、添加学生信息
在这里插入图片描述
2、查看全部学生

啊这,显示不美观,因为没想到名字是五个字

在这里插入图片描述

3、修改学生信息
在这里插入图片描述
4、删除学生信息

在这里插入图片描述
如果继续按2,就会提示以下内容

在这里插入图片描述
5、退出程序
在这里插入图片描述

五、主类源代码

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

public class Manage {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        //创建学生集合
        ArrayList<Student> studentArrayList=new ArrayList<>();
        while(true){
            //显示界面
            showInfo();
           String choice=scanner.nextLine();
           switch (choice){
               case "1"://添加学生信息
                   addStudent(studentArrayList);
                   break;
               case "2"://删除学生信息
                   delStudent(studentArrayList);
                   break;
               case "3"://修改学生信息
                    reviseStudent(studentArrayList);
                   break;
               case "4"://查看所有学生信息
                   showStudent(studentArrayList);
                   break;
               case "5":
                   System.out.println("感谢本次使用捏!");
                   System.exit(0);
           }
        }
    }
    //界面
    public static void showInfo(){
        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("请输入您的选择");
    }
    //添加学生
    public static void addStudent(ArrayList<Student> studentArrayList){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入学生的学号");
        String number=sc.nextLine();
        System.out.println("请输入学生的姓名");
        String name=sc.nextLine();
        System.out.println("请输入学生的性别");
        String sex=sc.nextLine();
        System.out.println("请输入学生的年龄");
        String age=sc.nextLine();
        //创建学生对象
        Student stu=new Student();
        stu.setNumber(number);
        stu.setName(name);
        stu.setSex(sex);
        stu.setAge(age);
        studentArrayList.add(stu);
        System.out.println("添加学生成功了捏!");
    }
    //删除学生
    public static void delStudent(ArrayList<Student> studentArrayList) {
        if(studentArrayList.size()==0){
            System.out.println("都没人你删个番茄炒蛋锤!");
            return;
        }
        boolean flag = false;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入删除学生的学号");
        String delNum = sc.nextLine();
        for (int i = 0; i < studentArrayList.size(); i++) {
            Student stu = studentArrayList.get(i);
            if (stu.getNumber().equals(delNum)) {
                studentArrayList.remove(i);
                System.out.println("删除成功了捏!");
                break;
            }else
                System.out.println("查无此人捏!");
        }
    }
    //修改学生
    public static void reviseStudent(ArrayList<Student> studentArrayList){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入需要修改学生的学号");
        String reviseNumber=sc.nextLine();
        System.out.println("请输入新姓名");
        String newName=sc.nextLine();
        System.out.println("请输入新性别");
        String newSex=sc.nextLine();
        System.out.println("请输入新年龄");
        String newAge=sc.nextLine();
        //创建学生对象
        Student s=new Student();
        s.setNumber(reviseNumber);
        s.setName(newName);
        s.setSex(newSex);
        s.setAge(newAge);
        for(int i=0;i<studentArrayList.size();i++){
            Student stu=studentArrayList.get(i);
            if(stu.getNumber().equals(reviseNumber)){
                studentArrayList.set(i,s);
                System.out.println("修改成功捏!");
                break;
            }else
                System.out.println("修改失败,我不到啊!");
        }
    }
    //查看学生
    public static void showStudent(ArrayList<Student> studentArrayList){
        //判断是否为空
        if(studentArrayList.size()==0){
            System.out.println("还没有信息捏,请添加数据!");
            return;
        }
        //表单栏
        System.out.println("学号\t\t\t姓名\t\t性别\t年龄");
        for (int index=0;index<studentArrayList.size();index++){
            Student stu=studentArrayList.get(index);
            System.out.println(stu.getNumber()+"\t\t"+stu.getName()+"\t\t"+stu.getSex()+"\t"+stu.getAge()+"岁");
        }
    }
}
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:12:07  更:2022-03-21 21:12:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:46:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码