Java ArrayList实现班级信息管理系统
作者:大菜彩 发布时间:2023-09-17 15:15:25
标签:java,班级,管理系统
ArrayList实现班级信息管理系统,供大家参考,具体内容如下
代码如下:
import java.util.*;
public class Demo1 {
public static void main(String[] args) {
Manage M = new Manage();
Scanner reader = new Scanner(System.in);
while (true) {
System.out.println("0.加载原有信息");
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.print("请输入您选择的功能【0~7】:");
int x;
x = reader.nextInt();
switch (x) {
case 0:
Student f = new Student("2018", "李小龙", 23, '男', 98.56);
Student g = new Student("2019", "鱼幼薇", 31, '女', 77.42);
Student h = new Student("2020", "季长风", 17, '男', 85.56);
Student o = new Student("2021", "轩辕辰", 12, '男', 56.42);
Student p = new Student("2022", "徐凤年", 25, '男', 95.01);
M.addStudent(f);
M.addStudent(g);
M.addStudent(h);
M.addStudent(o);
M.addStudent(p);
System.out.println("加载信息成功!");
break;
case 1:
String id;
String name;
int age;
char sex;
double result;
System.out.println("请输入学生学号 姓名 年龄 性别 综合考评成绩(中间以空格隔开):");
id = reader.next();
// System.out.println("请输入学生姓名:");
name = reader.next();
// System.out.println("请输入学生年龄:");
age = reader.nextInt();
// System.out.println("请输入学生性别:");
sex = reader.next().charAt(0);
// System.out.println("请输入学生学综合考评成绩:");
result = reader.nextDouble();
Student e = new Student(id, name, age, sex, result);
M.addStudent(e);
System.out.println("添加学生信息成功!");
break;
case 2:
System.out.println("输入您要查询的学号:");
String idd = reader.next();
M.findinfo(idd);
break;
case 3:
System.out.println("输入您要改动学生的学号:");
String iddd = reader.next();
System.out.println("输入您要改成的目的综合考评:");
double resultt = reader.nextDouble();
M.change(iddd, resultt);
break;
case 4:
System.out.println("输入您要删除学生的学号:");
String idddd = reader.next();
M.deleteStu(idddd);
break;
case 5:
M.sort();
System.out.println("排序成功!");
M.PrintInfo();
break;
case 6:
M.PrintInfo();
break;
case 7:
System.out.println("程序已经运行结束,下次见!");
System.exit(0);
break;
case 8:
System.out.println("数字在1~7之间!");
break;
}
}
}
}
//管理学生类
class Manage
{
ArrayList l=null;
public Manage()
{
l=new ArrayList();
}
//添加学生信息
public void addStudent(Student e)
{
l.add(e);
}
//根据信学号查看学生信息
public void findinfo(String id)
{
for(int i=0;i<l.size();i++)
{
Student temp=(Student) l.get(i);
if(id.equals(temp.getId()))
{
System.out.println("学号:"+temp.getId()+" 姓名:"+temp.getName()+" 年龄:"+temp.getAge()+" 性别:"+temp.getSex()+" 综合考评成绩:"+temp.getResult());
}
}
}
//修改学生综合考评成绩
public void change(String id,double resultt)
{
for(int i=0;i<l.size();i++)
{
Student temp=(Student) l.get(i);
if(id.equals(temp.getId()))
{
System.out.println("原有信息:");
System.out.println("学号:"+temp.getId()+" 姓名:"+temp.getName()+" 年龄:"+temp.getAge()+" 性别:"+temp.getSex()+" 综合考评成绩:"+temp.getResult());
}
}
for(int i=0;i<l.size();i++)
{
Student temp=(Student) l.get(i);
if(id.equals(temp.getId()))
{
System.out.println("最终信息:");
temp.setResult(resultt);
System.out.println("学号:"+temp.getId()+" 姓名:"+temp.getName()+" 年龄:"+temp.getAge()+" 性别:"+temp.getSex()+" 综合考评成绩:"+temp.getResult());
}
}
}
//删除学生信息
public void deleteStu(String id)
{
for(int i=0;i<l.size();i++)
{
Student temp=(Student) l.get(i);
if(id.equals(temp.getId()))
{
l.remove(i);
}
}
System.out.println("删除信息成功!");
}
//根据综合考评排名
public void sort()
{
String tempid;
String tempname;
int tempage;
char tempsex;
double tempresult;
for(int i=0;i<l.size()-1;i++)
{
Student x=(Student) l.get(i);
for(int j=i+1;j<l.size();j++)
{
Student y=(Student) l.get(j);
{
if(x.getResult()<y.getResult())
{
tempid=x.getId();
x.setId(y.getId());
y.setId(tempid);
tempname=x.getName();
x.setName(y.getName());
y.setName(tempname);
tempage=x.getAge();
x.setAge(y.getAge());
y.setAge(tempage);
tempsex=x.getSex();
x.setSex(y.getSex());
y.setSex(tempsex);
tempresult=x.getResult();
x.setResult(y.getResult());
y.setResult(tempresult);
}
}
}
}
}
//打印所有学生的信息
public void PrintInfo()
{
for(int i=0;i<l.size();i++)
{
Student temp=(Student) l.get(i);
System.out.println("学号:"+temp.getId()+" 姓名:"+temp.getName()+" 年龄:"+temp.getAge()+" 性别:"+temp.getSex()+" 综合考评成绩:"+temp.getResult());
}
}
}
//学生类
class Student
{
//成员变量
private String id;
private String name;
private int age;
private char sex;
private double result;
//构造方法
public Student(String id, String name, int age, char sex, double result) {
super();
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.result = result;
}
//所有的setter和getter方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public double getResult() {
return result;
}
public void setResult(double result) {
this.result = result;
}
}
运行结果:
来源:https://blog.csdn.net/qq_53786696/article/details/117324872


猜你喜欢
- 前言在一些APP中我们可以看到一些存放标签的容器控件,和我们平时使用的一些布局方式有些不同,它们一般都可以自动适应屏幕的宽度进行布局,根据对
- 实现过滤器很简单,只需要继承ZuulFilter,并实现ZuulFilter中的抽象方法。filterType():定义过滤器的类型,它有4
- 本文实例讲述了java实现的冒泡排序算法。分享给大家供大家参考,具体如下:public class PaoPaixu { pub
- 今天在编译Java程序时遇到如下问题:No enclosing instance of type PrintListFromTailToHe
- GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台
- 本文实例为大家分享了安卓实现单行多列横向滚动,供大家参考,具体内容如下<GridLayout android:layou
- 前言前段时间准备做一个视频,最后需要添加字幕,手动添加太麻烦了就想在网上找一个能自动提取字幕的软件或服务,确实是找到了,但是免费版基本上都有
- using System;using System.Runtime.InteropServices;using System.Windows
- 闹钟闹不醒的可以自己去调整下,这个最是最基本的MainActivitypublic class MainActivity extends A
- C# windows语音识别与朗读示例,供大家参考,具体内容如下本示例通过windows语音识别功能进行语音识别和文本朗读。打开window
- 简介本文用示例介绍SpringBoot如何解决BigDecimal传到前端后精度丢失问题。问题描述实例Controllerpackage c
- 1、long long 和 __int64在C++ Primer当中提到的64位的int只有long long,但是在实际各种各样的C++编
- 发送邮件在web开发中,发送邮件是一个很常用的功能,Spring Boot也集成了发送邮件的功能基本使用使用Spring Boot的发送邮件
- 第一次接触到随机数还是在c语言里面 使用的是 rand(); 但是重新执行一次的时候会发现,诶,居然和上一次执行的结果是一样的,因为没有初始
- 本文实例为大家分享了SSM实现学生管理系统的具体代码,供大家参考,具体内容如下概述基于Spring + Spring MVC 的学生管理系统
- 给对象中的包装类设置默认值处理方法如下主要适用于,对象中使用了包装类,但是不能给null需要有默认值的情况/**
- 1.1 JDK 14详细概述JDK 8 已经在 2014年 3月 18日正式可用,JDK 8作为长期支持(Long-Term-Support
- 包的作用,1是为了防止类和方法的重名,2是为了管理众多的java类。步骤 1 工具包里面有很多个工具类之前讲了打印数据的方法:S
- foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,colle
- 前言Java中共有八种基本数据类型:byte,int,short,long,float,double,char,boolean。计算机中的基