学生管理系统——ArrayList集合

此学生管理系统利用了集合ArrayList实现了对学生的增删改查;利用数组中的方法实现分数排序;运用String类的equals实现登录功能的字符串比较。

管理员类:

package data;

public class Manger {
    private String Manname;
    private String Manpassword;

    public Manger(String Manname, String Manpassword) {
        this.Manname = Manname;
        this.Manpassword = Manpassword;
    }

    public String getManname() {
        return Manname;
    }

    public void setManname(String manname) {
        Manname = manname;
    }

    public String getManpassword() {
        return Manpassword;
    }

    public void setManpassword(String manpassword) {
        Manpassword = manpassword;
    }

    @Override
    public String toString() {
        return "Manger [Manname=" + Manname + ", Manpassword=" + Manpassword
                + "]";
    }

}

学生类:

package data;

public class Student {
    private String name;
    private String stuno;
    private String classno;
    private double point;
    int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getStuno() {
        return stuno;
    }
    public void setStuno(String stuno) {
        this.stuno = stuno;
    }
    public String getClassno() {
        return classno;
    }
    public void setClassno(String classno) {
        this.classno = classno;
    }
    public double getPoint() {
        return point;
    }
    public void setPoint(double point) {
        this.point = point;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student [name=" + name + ", stuno=" + stuno + ", classno="
                + classno + ", point=" + point + ", age=" + age + "]";
    }

}

方法类:

package Way;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
import data.Student;
import data.Manger;

public class Stuway {
    ArrayList<Student> array = new ArrayList<Student>();

    // ******************************登录************************
    public void mainMenu() {
        System.out.println();
        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("6:退出");
        System.out.println("请您输入要操作的功能序号:");
    }

    // ***************************功能选择*********************
    public int chooseFunction() {
        Scanner sc = new Scanner(System.in);
        return sc.nextInt();
    }

    // ****************************信息初始化*************************
    public void init(ArrayList<Student> array) {
        Student s1 = new Student();
        s1.setName("张彬彬");
        s1.setStuno("20171509");
        s1.setClassno("计科191");
        s1.setPoint(345.0);
        s1.setAge(23);
        array.add(s1);

        Student s2 = new Student();
        s2.setName("刘冰冰");
        s2.setStuno("20181234");
        s2.setClassno("通信181");
        s2.setPoint(567);
        s2.setAge(20);
        array.add(s2);

        Student s3 = new Student();
        s3.setName("张明敏");
        s3.setStuno("20181904");
        s3.setClassno("计科191");
        s3.setPoint(432);
        s3.setAge(13);
        array.add(s3);
    }

    // ***************************学生信息显示**************************
    public void showStudents(ArrayList<Student> array) {
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            System.out.println(s);// 运行的是类中的toString
        }
    }

    // **************************增加学生信息**************************
    public void addStudents(ArrayList<Student> array) {
        System.out.println("请输入要添加的学生的信息");
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生的姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生的学号");
        String stuno = sc.next();
        System.out.println("请输入学生的班级");
        String classno = sc.next();
        System.out.println("请输入学生的分数");
        double point = sc.nextDouble();
        System.out.println("请输入学生的年龄");
        int age = sc.nextInt();
        Student s = new Student();
        s.setName(name);
        s.setStuno(stuno);
        s.setClassno(classno);
        s.setPoint(point);
        s.setAge(age);
        array.add(s);
        System.out.println("添加学生信息成功");
    }

    // ****************************删除学生信息***********************
    public void delectStudents(ArrayList<Student> array) {
        System.out.println("选择的是删除功能");
        System.out.println("请输入学生的学号");
        Scanner sc = new Scanner(System.in);
        String stuno = sc.next();
        for (int i = 0; i < array.size(); i++) {// 遍历集合
            Student s = array.get(i);
            if (s.getStuno().equals(stuno)) {
                array.remove(i); // 集合的方法remove实现
                System.out.println("删除成功");
                return;
            }
        }
        System.out.println("你输入的编号不存在");
    }

    // ****************************修改学生信息************************
    public void updataStudents(ArrayList<Student> array) {
        System.out.println("选择的是修改功能");
        System.out.println("请输入学生的的学号");
        Scanner sc = new Scanner(System.in);
        String stuno = sc.next();
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            if (s.getStuno().equals(stuno)) {
                System.out.println("输入新的学生姓名");
                s.setStuno(sc.next());
                System.out.println("输入新的学生学号");
                s.setName(sc.next());
                System.out.println("输入新的学生班级");
                s.setClassno(sc.nextLine());
                System.out.println("输入新的学生分数");
                s.setPoint(sc.nextDouble());
                System.out.println("输入新的学生年龄");
                s.setAge(sc.nextInt());
                System.out.println("学生信息修改成功");
                return;
            }
        }
    }

    // *****************************分数排序***********************
    public void scoreSort(ArrayList<Student> array) {
        double[] score = new double[10];
        System.out.println("选择的是排序功能");
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            score[i] = s.getPoint();
            Arrays.sort(score);

        }
        for (int j = 0; j < score.length; j++) {
            for (int i = 0; i < array.size(); i++) {
                if (score[j] == array.get(i).getPoint()){
                    System.out.println(array.get(i));
                }

            }
        }
    }

    // ***************************用户登录************************
    public boolean Log() {
        while (true) {
            Manger Man = new Manger("manger", "123");
            System.out.println("***********欢迎进入学生管理系统**********");
            System.out.println("请输入用户名");// manger
            Scanner sc = new Scanner(System.in);
            String manger = sc.nextLine();
            System.out.println("请输入密码");
            String password = sc.next();

            if ((Man.getManname().equals(manger))
                    && (Man.getManpassword().equals(password))) {
                System.out.println("登陆成功");
                return true;
            } else {
                System.out.println("登陆失败");
                return false;

            }
        }

    }

}

测试类:

package main;

import java.util.ArrayList;
import Way.Stuway;
import data.Student;

public class Test {
    public static void main(String[] args) {
    ArrayList<Student> array = new ArrayList<Student>();
    Stuway way = new Stuway();
    way.init(array);
    boolean a=way.Log();
    while(a){
        way.mainMenu();
        int choose = way.chooseFunction();

        switch (choose) {
        case 1:
            way.showStudents(array);
        break;
        case 2:
            way.addStudents(array);
            break;
        case 3:
            way.delectStudents(array);
            break;
        case 4:
            way.updataStudents(array);
            break;
        case 5:
            way.scoreSort(array);
            break;
        default:
            System.out.println("输入有误");
            break;
        }

}

}

}

运行结果:

原文地址:https://www.cnblogs.com/zhai1997/p/11393356.html

时间: 2024-08-09 08:33:36

学生管理系统——ArrayList集合的相关文章

2018.4.2 学生信息管理系统(集合版) 完整篇

学生信息管理系统(集合版) Student.java package com.lanqiao.demo; /** * 学生类 * * @author qichunlin * */ public class Student { private String name;// 姓名 private double[] score = new double[3];// 三门课程成绩 // get set public String getName() { return name; } public voi

学生管理系统利用arrayList第二次优化

package StuManage; public class Student { private String name;//姓名 private String stuNum;//学号 private String gender;//性别 private int age;//年龄 private double score;//分数  public Student(){   } //构造方法 public Student(String name,String stuNum,String gend

简单的学生管理系统

简单的学生管理系统 一,主要功能: 1,添加学生信息: 2,添加的学生信息显示在线型布局中: 3,把学生信息保存在xml文件中: 4,把保存在mxl中的学生信息取出来解析显示在界面: 二,主要知识点: 1,layout_weight的使用: 2,pull解析xml文件,xml序列化: 3,保存数据到sd卡: 4,动态添加控件刷新界面: 三,界面原型如下图: 四,代码展示: 1,界面xml文件,activity_main.xml <LinearLayout xmlns:android="ht

Servlet实例开发---学生管理系统

Servlet总结 本程序采用Servlet开发技术,MVC分层,所有程序在设计时都要接口为操作的标准,主要逻辑操作只有增删改查. 具体实现操作请看源代码. 本程序采用的是MYSQL数据库,需加入相应的jar包 目录结构 首先贴上底层数据层: 连接数据库 package com.student.dbc ; import java.sql.* ; public class DatabaseConnection { private static final String DBDRIVER = "or

【IOS开发笔记02】学生管理系统

端到端的机会 虽然现在身处大公司,但是因为是内部创业团队,产品.native.前端.服务器端全部坐在一起开发,大家很容易做零距离交流,也因为最近内部有一个前端要转岗过来,于是手里的前端任务好像可以抛一大坨出去了,这个时候立刻想到了切入IOS开发!!! 事实上,前端开发做到一定时间,要进步很难了,最近几个月扑到业务上便感觉突破不了目前的瓶颈,自身的前端瓶颈主要在两方面:技术深度.技术广度 其实不论深度或者广度来说都不是简单前端能说清楚的事情,不能说了解了angularJS.react等框架技术深度

05_学生管理系统,xml读写,布局的综合应用

?? 最终要做的项目目标: 2.编写Android清单文件AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima27.sutdentmanager" android:ve

学生管理系统(分层开发)

Model层:(实体层) 主要是与数据库里面的表做对应,一个实体对应一张表,这样在于数据库进行交互时就可以一一对应,对数据库才可以进行操作. DAL层:(数据访问层) 主要与数据库进行交互,进行数据处理,依赖于Model层. BLL层:(业务逻辑层) 主要是进行数据的业务逻辑处理,进行逻辑处理,依赖于Model层和DAL层. UI层:(表示层) 主要把客户需要的信息通过三层,展示出来.依赖于BLL层,Model层. 实现窗体效果图: Model层:(实体层) DAL层:(数据访问层) 首先在DA

结对项目-学生管理系统

一:题目简介: 通过集合,设计在控制台的的学生管理系统,主要功能有登入,注册,查询,退出四个功能: 二:github地址代码:https://github.com/LiangWeiLong/learngit 三:结对分工: 201303011132梁伟龙负责功能阐述: 201303011138林栋负责代码编辑: 四:结对实践过程: Driver林栋 Navigator梁伟龙 选定Driver坐在键盘前负责Coding: Navigator负责查找错误: 五:测试情况: 运行程序在,在控制台上输出

杨老师课堂之ArrayList集合常用方法解析

ArrayList集合常用方法的解析 1.概述 ? 在前面我们学习了数组,数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变.例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开学校,这时学生的数目很难确定.为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合.在这里,我们先介绍ArrayList集合,其他集合在后续课程中学习. ? ArrayList集合是程序