Java LinkedList实现班级信息管理系统
作者:大菜彩 发布时间:2021-06-27 04:00:11
标签:java,班级,管理系统
LinkedList实现班级信息管理系统,供大家参考,具体内容如下
代码如下:
import java.util.*;
public class Demo2 {
public static void main(String[] args)
{
Manage1 M = new Manage1();
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 Manage1
{
LinkedList l=null;
public Manage1()
{
l=new LinkedList();
}
//添加学生信息
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());
}
}
}
运行示例:
来源:https://blog.csdn.net/qq_53786696/article/details/117324975


猜你喜欢
- Chart控件可以用来绘制波形图、柱状图、饼图、折线图等,用来进行数据表现是很不错的简单说一下这个控件的使用方法效果图我们首先要加载Char
- Android 自定义输入支付密码的软键盘 &
- springboot配置文件中属性变量引用@@这种属性应用方式是field_name=@field_value@。两个@符号是springb
- 本文实例讲述了Android使用ListView批量删除item的方法。分享给大家供大家参考,具体如下:利用CheckBox选中一个或多个i
- 本文实例讲述了C#实现抓取和分析网页类。分享给大家供大家参考。具体分析如下:这里介绍了抓取和分析网页的类。其主要功能有:1、提取网页的纯文本
- 在平时做系统项目时,经常会需要做导出功能,不论是导出excel,还是导出cvs文件。我下面的demo是在springmvc的框架下实现的。1
- 在Android中,使用摄像头拍照一般有两种方法, 一种是调用系统自带的Camera,另一种是自己写一个摄像的界面。
- 本篇介绍线性图标RecyclerLineChart 的绘制,对于图表的公共部分X、Y轴,背景Board等的绘制先前章节已经有过介绍,这里不再
- 新建一个类继承AbstractFunction,重写以下方法:executesetParametersgetReferenceKeygetA
- 这篇文章主要介绍了Spring @Transactional注解失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的
- 前言:回顾上一节服务器配置的内容,我们已经可以自己完成公众号服务器的配置。配置完成之后,我们就可以通过调用的方式,完成对消息管理的处理。当用
- 出现场景更新了Android Studio版本后,运行项目就出现以下警告。Warning: Mapping new ns http://sc
- 一、委托1、什么是委托委托是面向对象的、类型安全的,是引用类型。使用delegate关键字进行定义。委托的本质就是一个类,继承自System
- 使用Scroller实现绚丽的ListView左右滑动删除Item效果这里来给大家带来使用Scroller的小例子,同时也能用来帮助初步解除
- AntPathMatcher前言(1)SpringMVC的路径匹配规则是依照Ant的来的,实际上不只是SpringMVC,整个Spring框
- 本文实例讲述了Android中悬浮窗口的实现原理。分享给大家供大家参考。具体如下:用了我一个周末的时间,个中愤懑就不说了,就这个问题,我翻遍
- LRU算法:最近最少使用淘汰算法(Least Recently Used)。LRU是淘汰最长时间没有被使用的缓存(即使该缓存被访问的次数最多
- 一个项目可能会有不同的环境,例如dev/stating/prod等,不同的环境的配置文件是不同的,如何根据环境快速的切换到对应的配置文件很重
- 本文实例讲述了C#检查字符串是否是合法URL地址的方法。分享给大家供大家参考。具体实现方法如下:protected string HTTPC
- 一、ConcurrentLinkedQueue介绍并编程中,一般需要用到安全的队列,如果要自己实现安全队列,可以使用2种方式:方式1:加锁,