【2020年实训】java基础(四)

天大地大妈咪最大 提交于 2020-01-29 04:07:05

2019年底来到济宁惠与软件实训基地,
参加大四实训,初期学习java基础知识。

java基础

学生信息管理系统(ArrayList数组版)

主界面
在这里插入图片描述
此管理系统与之前电话本管理系统(数组版)实现功能一样
只不过使用了ArrayList数组
让我们进一步学习ArrayList数组的使用

【此项目的注意事项】
1.退出系统使用JVM的退出
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200110175557866.pn
2.在添加学生信息方法中需要判断学号是否重复
可以定义一个新方法用于判断该学号是否重复
在这里插入图片描述
使用返回值为boolean类型的方法来进行判断,如果有重复返回true,否则返回false
3.为了让一个方法不再继续执行,可以使用return语句,那么之后的语句将会不再执行
在这里插入图片描述
4.使用equals方法来比较两个字符串的内容是否相同
在这里插入图片描述
5.ArrayList中修改某一位置的元素使用set方法
在这里插入图片描述

具体代码:

  • Student类用于描述学生属性及其方法
  • StudentManager类用于管理此学生管理系统
//Student
package com.morning;

public class Student {
    private String sid;
    private String name;
    private String age;
    private String address;

    //定义无参构造方法
    public Student(){

    }
    //定义有参构造方法
    public Student(String sid,String name,String age,String address){
        this.sid = sid;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    //getset方法
    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

//StudentManager
package com.morning;

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

public class StudentManager {

    public static void main(String[] args) {

        ArrayList<Student> array = new ArrayList<Student>();
        while(true){
            System.out.println("---Welcome---");
            System.out.println("1 Add");
            System.out.println("2 Delete");
            System.out.println("3 Update");
            System.out.println("4 FindAll");
            System.out.println("5 Exit");
            System.out.println("Please input your choice:");

            Scanner scanner = new Scanner(System.in);

            int choice = scanner.nextInt();
            switch(choice){
                case 1:
                    addStudent(array);
                    break;
                case 2:
                    deleteStudent(array);
                    break;
                case 3:
                    updateStudent(array);
                    break;
                case 4:
                    findAllStudent(array);
                    break;
                case 5:
//                    break;
//                    此处如果想要退出系统需要使用jvm给定的退出
                    System.exit(0);
                default:
                    System.out.println("choose your choice again");
            }
        }


    }
    /*
        判断sid是否被使用
     */
    public static boolean isUsed(ArrayList<Student> array,String sid){
        boolean flag = false;
        for(int i = 0;i < array.size();i++){
            Student s = array.get(i);
            if(s.getSid().equals(sid)){
                flag = true;
                return flag;
            }
        }
        return flag;
    }

    /*
        学生信息添加
     */
    public static void addStudent(ArrayList<Student> array){
        Scanner scanner = new Scanner(System.in);
        while(true){
            System.out.println("sid:");
            String sid = scanner.nextLine();
            if(isUsed(array,sid)){
                System.out.println("Again!");
            }else{
                System.out.println("name:");
                String name = scanner.nextLine();
                System.out.println("age:");
                String age = scanner.nextLine();
                System.out.println("address:");
                String address = scanner.nextLine();

                //利用自己定义的构造方法实例化Student对象
                Student s = new Student(sid,name,age,address);
                //将实例好的对象添加到ArrayList数组中
                array.add(s);
                System.out.println("Add successfully!");
                break;
            }
        }


    }
    /*
        查看所有学生信息
     */
    public static void findAllStudent(ArrayList<Student> array){

        if(array.size() == 0){
            System.out.println("No information!");
            //为了让程序不再往下执行,我们可以使用return来让程序不再往下执行
            return;
        }
        System.out.println("学号\t姓名\t年龄\t住址");
        for(int i = 0;i < array.size();i++){
            Student s = array.get(i);
            System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
        }

    }
    /*
        学生信息删除
     */
    public static void deleteStudent(ArrayList<Student> array){

        Scanner scanner = new Scanner(System.in);
        System.out.println("Please input the sid:");
        String sid = scanner.nextLine();

        boolean flag = false;
        for(int i = 0;i < array.size();i++){
            Student s = array.get(i);
            //使用equals方法来判断两个字符串内容是否相同
            if(s.getSid().equals(sid)){
                array.remove(i);
                System.out.println("Delete successfully!");
                flag = true;
                break;
            }
        }
        if(flag == false){
            System.out.println("Cannot find the sid!");
        }
    }
    /*
        修改学生信息
     */
    public static void updateStudent(ArrayList<Student> array){

        Scanner scanner = new Scanner(System.in);
        System.out.println("Please input the sid:");
        String sid = scanner.nextLine();


        boolean flag = false;
        for(int i = 0;i < array.size();i++){
            Student s = array.get(i);
            if(s.getSid().equals(sid)){
                System.out.println("The new name:");
                String name = scanner.nextLine();
                System.out.println("The new age:");
                String age = scanner.nextLine();
                System.out.println("The new address:");
                String address = scanner.nextLine();
                Student student = new Student(sid,name,age,address);
                //ArrayList中修改某一位置的元素使用set方法
                array.set(i,student);
                System.out.println("Update successfully!");
                flag = true;
            }
        }
        if(flag == false){
            System.out.println("Cannot find the sid!");
        }



    }
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!