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面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们:
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
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面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录
需要这份系统化的资料的朋友,可以点击这里获取
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。