Java基础——学生成绩信息管理系统(简单实现)

这篇具有很好参考价值的文章主要介绍了Java基础——学生成绩信息管理系统(简单实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求

1、 定义一个学生类 Student,包含姓名、成绩信息;
2、使用 ArrayList集合存储学生对象;
3、 对集合中的元素进行增删查改的操作。

一、定义学生类

学生类可以包含姓名、成绩、学号、年龄等等,这里只包含了前两项学生类属性。

public class Student {
    //封装学生类型:
    private String name;    //姓名
    private int score;    //成绩

    public Student() {
    }

    public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }

    public String getName() {
        return name;
    }

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

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    //重写toString方法:
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", score=" + score +
                '}';
    }
}

二、定义学生成绩信息管理类

在该类中定义了简单的增、删、查、改的方法。

其中,遍历集合元素使用到了for...each循环以及使用迭代器这两种常见的方式,

添加学生信息create方法使用了try..catch语句处理异常。

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class StudentScoreManagement {

    public static void main(String[] args) {

        System.out.println("欢迎登录学生成绩信息管理系统!");
        while(true) {

            System.out.println();
            System.out.println("=====================");
            System.out.println("请选择操作:");
            System.out.println("①查询信息\n②添加信息\n③删除信息\n④修改信息\n⑤退出系统");
            System.out.println("=====================");
            Scanner stu = new Scanner(System.in);
            int n = stu.nextInt();//接收控制台输入

            if (n == 1) {
                //查询
                StudentScoreManagement.read();

            } else if (n == 2) {
                //添加
                while (true){

                //使用 try...catch 捕获异常:
                try {
                    StudentScoreManagement.create();
                    break;
                } catch (Exception e) {
//                    throw new RuntimeException(e.toString());    //抛出异常,程序结束
                    System.out.println("输入了不合理的成绩,请重新输入!"); //程序继续执行
                }
                }

            } else if (n == 3) {
                //删除
                StudentScoreManagement.delete();

            } else if (n == 4) {
                //修改
                StudentScoreManagement.update();

            } else if (n == 5) {
                //退出
                System.out.println("已退出学生成绩信息管理系统!");
                break;

            } else {
                System.out.println("暂无该项指令,请重新输入!");
            }
        }
    }

    //使用ArrayList集合存放学生信息数据
    static List<Student> studentList = new ArrayList<>();

    /**增*/
    public static void create() throws Exception{ //声明异常

        /*输入成绩*/
        String goon = "Y";
        while ("Y".equals(goon)) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入学生姓名:");
            String name = sc.next();
            System.out.println("请输入学生成绩:");
            int score = sc.nextInt();

            //抛出异常:
            if (score<0 || score>100) {
               throw new Exception("输入的成绩不合理!");

            }

            Student stu = new Student(name,score);
            studentList.add(stu);

            System.out.println("是否继续录入?Y/N");
            goon = sc.next();
        }

    }

    /**删*/
    public static void delete(){

        Scanner sc = new Scanner(System.in);

        System.out.println("请输入想要删除信息的学生姓名:");
        String dname = sc.next();

        //使用迭代器遍历集合元素
        Iterator<Student> it = studentList.iterator();
        while (it.hasNext()){
            Student st=it.next();
            if(st.getName().equals(dname)){
                it.remove();
                System.out.println("删除成功!");
            }else if (st.getName().equals(dname) == true) {
                System.out.println("暂不存在该学生信息,请重新输入!");
            }
        }
    }

    /**查*/
    public static void read(){
        if (studentList.isEmpty() == true){
            System.out.println("暂无数据!");
        }
        else {
            System.out.println("已添加的学生信息:");

            //使用for...each循环语句遍历集合元素
            for (Student stu : studentList
            ) {
                System.out.println(stu);
            }
        }
    }

    /**改*/
    public static void update(){

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入想要修改的学生信息(输入 姓名/成绩): 1、姓名 2、成绩 ");
        String data = sc.next();   //输入想要修改的信息

        if (data.equals("姓名")) {

            System.out.println("请输入将要修改姓名信息的同学:");
            Scanner scanner = new Scanner(System.in);
            String name = scanner.next();

            //使用迭代器遍历集合元素
            Iterator<Student> it = studentList.iterator();
            while (it.hasNext()){
                Student st = it.next();
                if(st.getName().equals(name)){
                    System.out.println("请输入修改后的姓名:");
                    String newname = scanner.next();
                    st.setName(newname);
                    System.out.println("修改成功!\n已修改的学生信息:");
                    System.out.println(st);
                }else if (st.getName().equals(name) == true) {
                    System.out.println("暂不存在该学生信息,请重新输入!");
                }
            }

        }
        else if (data.equals("成绩")){

            System.out.println("请输入将要修改成绩信息的同学姓名:");
            Scanner scanner = new Scanner(System.in);
            String name = scanner.next();


            //使用迭代器遍历集合元素
            Iterator<Student> it = studentList.iterator();
            while (it.hasNext()){
                Student st = it.next();
                if(st.getName().equals(name)){
                    System.out.println("请输入修改后的成绩:");
                    int newscore = sc.nextInt(); //修改后的成绩
                    st.setScore(newscore);
                    System.out.println("修改成功!\n已修改的学生信息:");
                    System.out.println(st);
                }else if (st.getName().equals(name) == true) {
                    System.out.println("暂不存在该学生信息,请重新输入!");
                }
            }
        }
        else
            System.out.println("您输入的操作信息有误!请重新输入");
    }
}

三、运行示例

1.添加学生信息:

欢迎登录学生成绩信息管理系统!

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
1
暂无数据!

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
2
请输入学生姓名:
张三
请输入学生成绩:
85
是否继续录入?Y/N
Y
请输入学生姓名:
李四
请输入学生成绩:
90
是否继续录入?Y/N
Y
请输入学生姓名:
王五
请输入学生成绩:
70
是否继续录入?Y/N
N

2.查询信息:

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
1
已添加的学生信息:
Student{name='张三', score=85}
Student{name='李四', score=90}
Student{name='王五', score=70}

3.删除信息

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
3
请输入想要删除信息的学生姓名:
王五
删除成功!

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
1
已添加的学生信息:
Student{name='张三', score=85}
Student{name='李四', score=90}

3.修改信息:

4
请输入想要修改的学生信息(输入 姓名/成绩): 1、姓名 2、成绩 
姓名
请输入将要修改姓名信息的同学:
张三
请输入修改后的姓名:
小明
修改成功!
已修改的学生信息:
Student{name='小明', score=85}

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
4
请输入想要修改的学生信息(输入 姓名/成绩): 1、姓名 2、成绩 
成绩
请输入将要修改成绩信息的同学姓名:
小明
请输入修改后的成绩:
100
修改成功!
已修改的学生信息:
Student{name='小明', score=100}

4.退出系统:文章来源地址https://www.toymoban.com/news/detail-507550.html

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
1
已添加的学生信息:
Student{name='小明', score=100}
Student{name='李四', score=90}

=====================
请选择操作:
①查询信息
②添加信息
③删除信息
④修改信息
⑤退出系统
=====================
5
已退出学生成绩信息管理系统!

到了这里,关于Java基础——学生成绩信息管理系统(简单实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言学生成绩信息管理系统(超详细版)

    主题:一个简易成绩管理系统 功能介绍: 1.以文本形式存储学生信息 2.对以存信息进行   1. 插入 2. 修改3. 删除  4.查询  5.成绩数字特征 目录 一:分析 二:查询  三:菜单 四:初始化函数 五:插入函数 六:修改函数 七:删除函数 八:数字特征 九:显示函数 要进行 插入

    2024年02月12日
    浏览(34)
  • 学生信息及成绩管理系统(Python+Sqlite)数据库版

    目录 功能模块: 运行功能演示:  具体代码实现过程: 创建sqlite 数据库  Python代码 引入os和sqlite3包: 初始化数据库: 连接数据库: 关闭并提交数据到数据库: 查询数据并显示: 添加并插入数据到数据库: 更新数据到数据库: 删除数据并更新数据库:  导入和导出数据

    2024年02月04日
    浏览(40)
  • JAVA学生成绩管理系统

    只写了最基本的增删改查,其中可能会有一些没考虑到的地方。结尾有完整代码 首先是main方法 然后是菜单和欢迎页面 1:添加学生信息 2:删除学生信息 3:修改学生信息 4:查询单个学生信息 5:列出所有学生信息 用到的其他方法: 完整发一下代码: 学生类: StudentSystem类

    2024年02月12日
    浏览(40)
  • Java——学生成绩管理系统

    一、项目简介 学生管理系统是一种基于计算机技术实现的学生信息管理工具,能够方便地对学生信息进行录入、查询、修改和删除。该项目采用 Java 语言编写,使用 Spring MVC 框架和 MySQL 数据库,实现了以上所述的主要功能,该学生管理系统可以应用于学校、培训机构、教育

    2024年02月08日
    浏览(38)
  • 用C语言实现一个学生信息管理系统,学生基本信息包括学号、姓名、三门课成绩以及个人平均成绩,有不超过70个学生的数据,要求能够建立学生基本信息(结构体数组)、按学号查询学生基本信息、计算学生个人平均成绩...

    下面是一种使用 C 语言实现学生信息管理系统的方案: 首先,定义结构体存储学生的基本信息,其中包括学号、姓名、三门课成绩和平均成绩。例如: 然后,定义结构体数组来存储最多70个学生的信息。 接下来,可以编写函数来实现各种功能。例如,可以定义函数来建立学

    2024年02月03日
    浏览(49)
  • C语言课程设计:学生成绩信息管理系统(排序、平均分、总分)详解

    1、需求分析 利用C语言编写一个可以对学生成绩信息进行管理的系统 0、退出系统 1、录入学生信息和成绩 2、打印学生信息 3、统计学生人数 4、查找学生信息 5、修改学生信息 6、删除学生信息 7、排序学生成绩 8、生成学生信息文件 9、读取文件学生信息 10、输出各科成绩不

    2024年02月11日
    浏览(45)
  • Java课设-学生成绩管理系统

    题目要求 : 代码: Student.java : StudentApplication.java : StudentManage.java : 运行主界面 :

    2024年02月11日
    浏览(42)
  • Java设计学生成绩管理系统

    1.1 题目与要求 设计一个学生成绩排名系统 实现以下功能: (1) 具备对成绩的管理功能(添加、删除、排序); (2) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等); (3) 具备按学号、姓名查询成绩的功能; (4) 具备处理解决学号重复问题 ; 备注:成绩记录以下

    2024年02月09日
    浏览(45)
  • 计算机毕业设计 基于JavaWeb的学生成绩信息管理系统(源码+论文)

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 基于JavaWeb的学生成绩信息管理系统 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:3分 项目获取: https://gitee.com/sin

    2024年02月10日
    浏览(54)
  • Java课程设计——学生成绩管理系统

    1 需求分析 1.1 需求分析概述 需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。通过需求分析充分认识系统的目标、系统的各个组成部分、各部分的任务职责、工作流程、工作中使用的各种数据及数据结构、各部门的业务关系和数据流程等, 为系统设计

    2024年02月03日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包