2024年Java最新Java 版学生成绩管理系统,附源码,保准看明白

2401_84102759 2024-07-16 10:05:02 阅读 85

总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家

在这里插入图片描述

在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

System.out.println(“请输入要查找学生的学号:”);

long id = scanner.nextLong();

int flag = -1;

Student student = new Student();

// 查找对应学号,找到就退出

for (int i = 0; i < students.size(); i++) {

student = students.get(i);

if (student.getId() == id) {

flag = i;

break;

}

}

if (flag == -1) {

System.out.println(“未找到对应学号的学生,请确认后重新输入!”);

} else {

System.out.println(“对应学号的学生成绩如下:”);

System.out.println(“班级\t\t学号\t\t姓名\t\t数学\t\t英语\t\t体育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分”);

System.out.format(“%s\t\t%d\t\t%s\t\t%.2f\t\t%.2f\t\t%.2f\t\t%.2f\t\t%.2f\t\t%.2f\t\t%.2f\t\t%.2f\n”, student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));

System.out.println(“查找信息成功!”);

}

}

}

修改学生成绩

先判断是否有数据,有数据再进行后续操作。然后通过对输入的学号进行匹配,找到对应学号的学生,然后对其成绩信息进行修改,但不修改个人其他信息;

/**

@param students 学生对象集合

@return

@description 修改对应学号学生的信息

@date 2021/4/5 12:59

@author cunyu1943

@version 1.0

*/

public void modifyStudent(ArrayList students) {

System.out.println(“----------修改学生成绩----------”);

if (students.isEmpty()) {

System.out.println(“当前无数据,请添加后重试”);

} else {

System.out.println(“请输入要修改学生的学号:”);

long id = scanner.nextLong();

for (Student student : students) {

if (id == student.getId()) {

System.out.println(“请重新输入该学生的成绩”);

System.out.println(“数学”);

float math = scanner.nextFloat();

System.out.println(“英语”);

float english = scanner.nextFloat();

System.out.println(“体育”);

float sport = scanner.nextFloat();

System.out.println(“Java”);

float java = scanner.nextFloat();

System.out.println(“C++”);

float cPlusPlus = scanner.nextFloat();

System.out.println(“政治”);

float polity = scanner.nextFloat();

System.out.println(“算法”);

float algorithm = scanner.nextFloat();

student.setMath(math);

student.setAlgorithm(algorithm);

student.setEnglish(english);

student.setcPlusPlus(cPlusPlus);

student.setJava(java);

student.setSport(sport);

student.setPolity(polity);

// 获取平均分

double avg = getAvg(student);

student.setAverage(avg);

System.out.println(“修改成功!”);

} else {

System.out.println(“未找到对应学号的学生,请确认后重新输入!”);

}

break;

}

}

}

删除学生成绩

先判断是否有数据,有数据再进行后续操作。然后通过对输入的学号进行匹配,找到对应学号的学生,然后将其从集合中删除即可;

/**

@param students 学生对象集合

@return

@description 删除学生成绩

@date 2021/4/5 14:28

@author cunyu1943

@version 1.0

*/

public void deleteStudent(ArrayList students) {

System.out.println(“----------删除学生成绩----------”);

if (students.isEmpty()) {

System.out.println(“当前无数据,请添加后重试”);

} else {

System.out.println(“输入要删除学生成绩的学号”);

long id = scanner.nextLong();

int index = -1;

for (int i = 0; i < students.size(); i++) {

Student student = students.get(i);

if (student.getId() == id) {

index = i;

break;

}

}

if (index == -1) {

System.out.println(“未找到对应学号学生信息,请确认后再删除!”);

} else {

students.remove(index);

System.out.println(“----------删除成功----------”);

}

}

}

按平均分排序

先判断是否有数据,有数据再进行后续操作。然后对集合中的学生的平均成绩进行排序,然后依次从高到低打印出学生信息;

/**

@param students 学生对象集合

@return

@description 按照平均分排序

@date 2021/4/5 14:29

@author cunyu1943

@version 1.0

*/

public void sortStudent(ArrayList students) {

if (students.isEmpty()) {

System.out.println(“当前无数据,请添加后重试”);

} else {

for (int i = 0; i < students.size() - 1; i++) {

if (students.get(i).getAvg(students.get(i)) < students.get(i + 1).getAvg(students.get(i + 1))) {

Student tmp = students.get(i);

students.set(i, students.get(i + 1));

students.set(i + 1, tmp);

}

}

System.out.println(“排序后的学生成绩”);

System.out.println(“班级\t\t学号\t\t姓名\t\t数学\t\t英语\t\t体育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分”);

for (Student student : students) {

System.out.format(“%s\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n”, student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));

}

}

}

显示所有成绩

先判断是否有数据,有数据再进行后续操作。遍历学生对象集合,然后打印出各个学生的成绩信息。

/**

@param students 学生对象集合

@return

@description 显示所有学生成绩

@date 2021/4/5 14:30

@author cunyu1943

@version 1.0

*/

public void showAllStudent(ArrayList students) {

if (students.isEmpty()) {

System.out.println(“当前无数据,请先添加数据”);

} else {

System.out.println(“----------所有学生成绩如下----------”);

System.out.println(“班级\t\t学号\t\t姓名\t\t数学\t\t英语\t\t体育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分”);

for (Student student : students) {

System.out.format(“%s\t%d\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n”, student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));

}

}

}

总程序


将上述所有模块整合之后,我们得到最终的程序;

Manager.java

package com.cunyu;

import java.util.ArrayList;

import java.util.Scanner;

/**

@author : cunyu

@version : 1.0

@className : Manager

@date : 2021/4/4 23:54

@description : 管理系统

*/

public class Manager {

public static Scanner scanner = new Scanner(System.in);

public static ArrayList students = new ArrayList<>();

public static void main(String[] args) {

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(“-------------【6】按平均分排列-------------”);

System.out.println(“-------------【7】显示所有成绩-------------”);

System.out.println(“-------------【0】退出管理系统-------------”);

Student student = new Student();

System.out.println(“输入你的选择”);

String choice = scanner.next();

switch (choice) {

case “1”:

student.addScore(students);

break;

case “2”:

student.showAvg(students);

break;

case “3”:

student.lookupStudent(students);

break;

case “4”:

student.modifyStudent(students);

break;

case “5”:

student.deleteStudent(students);

break;

case “6”:

student.sortStudent(students);

break;

case “7”:

student.showAllStudent(students);

break;

case “0”:

System.exit(0);

default:

break;

}

}

}

}

Student.java

package com.cunyu;

import java.util.ArrayList;

import java.util.Scanner;

/**

@author : cunyu

@version : 1.0

@className : Student

@date : 2021/4/4 23:31

@description : 学生类

*/

public class Student {

public static Scanner scanner = new Scanner(System.in);

// 班级

private String grade;

// 学号

private long id;

// 姓名

private String name;

// 高数

private float math;

// 英语

private float english;

// 体育

private float sport;

// Java

private float java;

// C++

private float cPlusPlus;

// 政治

private float polity;

// 算法

private float algorithm;

// 平均分

private double average;

public Student() {

}

public Student(String grade, long id, String name, float math, float english, float sport, float java, float cPlusPlus, float polity, float algorithm, double average) {

this.grade = grade;

this.id = id;

this.name = name;

this.math = math;

this.english = english;

this.sport = sport;

this.java = java;

this.cPlusPlus = cPlusPlus;

this.polity = polity;

this.algorithm = algorithm;

this.average = average;

}

public String getGrade() {

return grade;

}

public void setGrade(String grade) {

this.grade = grade;

}

public long getId() {

return id;

}

public void setId(long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public float getMath() {

return math;

}

public void setMath(float math) {

this.math = math;

}

public float getEnglish() {

return english;

}

public void setEnglish(float english) {

this.english = english;

}

public float getSport() {

return sport;

}

public void setSport(float sport) {

this.sport = sport;

}

public float getJava() {

return java;

}

public void setJava(float java) {

this.java = java;

}

public float getcPlusPlus() {

return cPlusPlus;

}

public void setcPlusPlus(float cPlusPlus) {

this.cPlusPlus = cPlusPlus;

}

public float getPolity() {

return polity;

}

public void setPolity(float polity) {

this.polity = polity;

}

public float getAlgorithm() {

return algorithm;

}

public void setAlgorithm(float algorithm) {

this.algorithm = algorithm;

}

public double getAvg(Student student) {

return (student.getAlgorithm() + student.getcPlusPlus() + student.getEnglish() + student.getSport() + student.getJava() + student.getPolity() + student.getMath()) / 7;

}

public void setAverage(double average) {

this.average = average;

}

/**

@param students 学生对象列表

@return

@description 录入学生信息

@date 2021/4/5 9:14

@author cunyu1943

@version 1.0

*/

public void addScore(ArrayList students) {

System.out.println(“----------录入学生数据----------”);

System.out.println(“请依次输入如下数据:”);

long id;

while (true) {

System.out.println(“学号”);

id = scanner.nextInt();

if (isValid(students, id)) {

System.out.println(“学号重复,请重新输入”);

} else {

break;

}

}

System.out.println(“年级”);

String grade = scanner.next();

System.out.println(“姓名”);

String name = scanner.next();

System.out.println(“数学”);

float math = scanner.nextFloat();

System.out.println(“英语”);

float english = scanner.nextFloat();

System.out.println(“体育”);

float sport = scanner.nextFloat();

System.out.println(“Java”);

float java = scanner.nextFloat();

System.out.println(“C++”);

float cPlusPlus = scanner.nextFloat();

System.out.println(“政治”);

float polity = scanner.nextFloat();

System.out.println(“算法”);

float algorithm = scanner.nextFloat();

// 创建对象,并设置属性,然后将其加入学生对象集合

Student student = new Student();

student.setId(id);

student.setGrade(grade);

student.setName(name);

student.setMath(math);

student.setAlgorithm(algorithm);

student.setEnglish(english);

student.setcPlusPlus(cPlusPlus);

student.setJava(java);

student.setSport(sport);

student.setPolity(polity);

// 获取平均分

double avg = getAvg(student);

student.setAverage(avg);

// 添加到集合

students.add(student);

// 提示信息

System.out.println(“添加成功”);

}

/**

@param students 学生对象集合

@param id 学号

@return true,学号重复;false 学号可用

@description 判断学号是否可用

@date 2021/4/5 9:19

@author cunyu1943

@version 1.0

*/

public boolean isValid(ArrayList students, long id) {

for (Student student : students) {

if (student.getId() == id) {

return true;

}

}

return false;

}

/**

@param students 学生对象集合

@return

@description 显示简单统计数据

@date 2021/4/5 10:08

@author cunyu1943

@version 1.0

*/

public void showAvg(ArrayList students) {

System.out.println(“----------输出学生统计数据----------”);

if (students.size() == 0) {

System.out.println(“当前无数据,请先添加数据!”);

} else {

System.out.println(“班级\t\t学号\t\t姓名\t\t平均分”);

System.out.println(“---------------------------------”);

for (Student student : students) {

System.out.format(“%s\t\t%d\t\t%s\t\t%.2f\n”, student.getGrade(), student.getId(), student.getName(), student.getAvg(student));

}

}

}

/**

@param students 学生对象集合

@return

@description 查找对应学号学生的成绩信息

@date 2021/4/5 12:59

@author cunyu1943

@version 1.0

*/

public void lookupStudent(ArrayList students) {

System.out.println(“----------查找学生成绩----------”);

if (students.size() == 0) {

System.out.println(“当前无数据,请添加后重试”);

} else {

System.out.println(“请输入要查找学生的学号:”);

long id = scanner.nextLong();

int flag = -1;

Student student = new Student();

// 查找对应学号,找到就退出

for (int i = 0; i < students.size(); i++) {

student = students.get(i);

if (student.getId() == id) {

flag = i;

break;

}

}

if (flag == -1) {

System.out.println(“未找到对应学号的学生,请确认后重新输入!”);

} else {

System.out.println(“对应学号的学生成绩如下:”);

System.out.println(“班级\t\t学号\t\t姓名\t\t数学\t\t英语\t\t体育\t\tJava\t\tC++\t\t政治\t\t算法\t\t平均分”);

System.out.format(“%s\t%d\t\t%s\t\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n”, student.getGrade(), student.getId(), student.getName(), student.getMath(), student.getEnglish(), student.getSport(), student.getJava(), student.getcPlusPlus(), student.getPolity(), student.getAlgorithm(), student.getAvg(student));

System.out.println(“查找信息成功!”);

}

}

}

/**

@param students 学生对象集合

@return

@description 修改对应学号学生的信息

@date 2021/4/5 12:59

@author cunyu1943

@version 1.0

*/

public void modifyStudent(ArrayList students) {

System.out.println(“----------修改学生成绩----------”);

if (students.isEmpty()) {

System.out.println(“当前无数据,请添加后重试”);

} else {

System.out.println(“请输入要修改学生的学号:”);

long id = scanner.nextLong();

for (Student student : students) {

if (id == student.getId()) {

System.out.println(“请重新输入该学生的成绩”);

System.out.println(“数学”);

float math = scanner.nextFloat();

System.out.println(“英语”);

float english = scanner.nextFloat();

System.out.println(“体育”);

float sport = scanner.nextFloat();

System.out.println(“Java”);

float java = scanner.nextFloat();

System.out.println(“C++”);

float cPlusPlus = scanner.nextFloat();

System.out.println(“政治”);

float polity = scanner.nextFloat();

System.out.println(“算法”);

float algorithm = scanner.nextFloat();

student.setMath(math);

student.setAlgorithm(algorithm);

student.setEnglish(english);

student.setcPlusPlus(cPlusPlus);

student.setJava(java);

student.setSport(sport);

student.setPolity(polity);

// 获取平均分

double avg = getAvg(student);

student.setAverage(avg);

System.out.println(“修改成功!”);

} else {

System.out.println(“未找到对应学号的学生,请确认后重新输入!”);

}

break;

}

}

}

/**

@param students 学生对象集合

@return

@description 删除学生成绩

最后

本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们:

目录:

二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

二面蚂蚁金服(交叉面),已拿offer,Java岗定级阿里P6

Java面试核心知识点

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

n(“体育”);

float sport = scanner.nextFloat();

System.out.println(“Java”);

float java = scanner.nextFloat();

System.out.println(“C++”);

float cPlusPlus = scanner.nextFloat();

System.out.println(“政治”);

float polity = scanner.nextFloat();

System.out.println(“算法”);

float algorithm = scanner.nextFloat();

student.setMath(math);

student.setAlgorithm(algorithm);

student.setEnglish(english);

student.setcPlusPlus(cPlusPlus);

student.setJava(java);

student.setSport(sport);

student.setPolity(polity);

// 获取平均分

double avg = getAvg(student);

student.setAverage(avg);

System.out.println(“修改成功!”);

} else {

System.out.println(“未找到对应学号的学生,请确认后重新输入!”);

}

break;

}

}

}

/**

@param students 学生对象集合

@return

@description 删除学生成绩

最后

本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们:

目录:

[外链图片转存中…(img-zsVrL9LK-1714910872370)]

Java面试核心知识点

一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!

[外链图片转存中…(img-qtOC6aFd-1714910872371)]

Java面试核心知识点

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。