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
0
投稿
猜你喜欢
- 1.这是一个通过Java反射机制解析的工具类2.使用时只需创建对应的对象,并在Excel的第一行填上对应的属性名3.首先要添加相关的jar包
- 前言:其实作为一名Java的程序猿,无论你是初学也好,大神也罢,学生管理系统一直都是一个非常好的例子,初学者主要是用数组、List等等来写出
- 当你在使用Mybatis 时进行配置的时候有这样几个坑一定要注意下。mybatisplus中逻辑删除通俗说为了在数据库中保留数据,但是又不想
- 序列化与反序列化序列化:把对象转换成字节的过程,称为对象序列化反序列化:把字节恢复成对象的过程,称为反序列化对象的持久化概念:把字节保存的硬
- 实现的功能比较简单,就是随机产生了四个字符然后输出。效果图如下,下面我会详细说一下实现这个功能用到了那些知识点,并且会把 这些知识点详细的介
- Springboot内部提供的事务管理器是根据autoconfigure来进行决定的。比如当使用jpa的时候,也就是pom中加入了sprin
- 这是一个介绍基本异常处理的小例子,包括抛出,捕获,断言,日志。Java异常处理通过5个关键字try、catch、throw、throws、f
- 背景公司开发框架增加了web系统license授权证书校验模块,实行一台机器一个授权证书,初步方案是增加 * 针对全局请求进行拦截校验,评估
- 本文实例讲述了Java中的多态用法。分享给大家供大家参考。具体分析如下:多态,是面向对象的程序设计语言最核心的特征。封装性、继承性都比较简单
- Spring AOP复杂的日志记录(自定义注解)做项目中,业务逻辑要求只要对数据库数据进行改动的都需要记录日志(增删改),记录的内容有操作者
- 目录1.前言2.不同进制的特点3.进制之间的转换3.1 二进制转十进制:3.2 十进制转二进制:3.3 二进制转八进制:3.4 十六进制转二
- 导读 Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用
- 问题:为什么有缓存mybatis默认开启一级缓存什么场景下必须需要关闭一级缓存场景:执行2次相同sql,但是第一次查询sql结果会加工处理,
- 1. 数据类型:在Java源代码中,每个变量都必须声明一种类型(type)。Java数据类型(type)可以分为两大类:基本类型(primi
- 摘要:在spring boot中 MVC这部分也有默认自动配置,也就是说我们不用做任何配置,那么也是OK的,这个配置类就是 WebMvcAu
- java ,javaw 和 javaws 的区别:首先,所有的这些都是java的启动装置,java.e
- 这篇文章主要介绍了Springboot配置文件内容加密代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 本文实例讲述了Java Scanner类用法及nextLine()产生的换行符问题。分享给大家供大家参考,具体如下:分析理解:Scanner
- 前言:在纯 Java 代码里 我们一般都会用class.getResource(String name) 或者 class.getClass
- 前言接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代码的时间还要多,几乎是每个开发的日