JavaSE学生管理系统(ArrayList集合来做)
JavaSE学生管理系统
Student类:
public class Student {
//创建私有属性:学生学号、姓名、年龄、地址
private int id;
private String namae;
private int age;
private String address;
//手动添加无参构造
public Student() {
}
//满参构造
public Student(int id, String namae, int age, String address) {
this.id = id;
this.namae = namae;
this.age = age;
this.address = address;
}
//提供get、set方法来获取和赋值
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNamae() {
return namae;
}
public void setNamae(String namae) {
this.namae = namae;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
StudentManager(测试类):
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
public static void main(String[] args) {
//因为要将学生信息保存到集合中,所以要将学生保存到ArrayList集合
//创建ArrayList集合对象
ArrayList list = new ArrayList<>();
//因为不知道用户到底要用几次,用while来无限循环
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(“请选择以上功能:”);
//创建用户输入Scanner对象,用户输入选择
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//用switch来判断用户选择的功能
switch (num){
case 1:
addStudent(list);
break;
case 2:
insertStudent(list);
break;
case 3:
reviseStudent(list);
break;
case 4:
removeStudent(list);
break;
case 5:
System.out.println(“5.退出”);
break; //break结束循环体
default:
System.out.println(“输入不符合,请重新输入:”);
//停止JVM虚拟机
System.exit(0);
}
}
}
//删除学生信息
private static void removeStudent(ArrayList list) {
//创建学生对象
Student stu = new Student();
//创建键盘录入
Scanner sc = new Scanner(System.in);
System.out.println(“请输要删除学生的学号:”);
int id = sc.nextInt();
System.out.println(“要删除的学生信息如下:”);
for (int i = 0; i < list.size(); i++) {
if(id==list.get(i).getId()){
Student stu3 = list.get(i);
System.out.println(“学号\t\t姓名\t\t年龄\t\t地址”);
System.out.println(stu3.getId()+"\t\t"+stu3.getNamae()+"\t\t"+stu3.getAge()+"\t\t"+stu3.getAddress());
}
}
//定义list集合的索引
int index = -1;
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
//在删除/修改学生操作前,对学号是否存在进行判断
if (s.getId()id) {
index = i;
break;
}
}if (index == -1) {
// 如果不存在,显示提示信息
System.out.println(“该信息不存在,请重新输入”);
} else {
// 如果存在,执行删除/修改操作
list.remove(index);
//给出删除成功提示
System.out.println(“删除学生成功!”); }
}
//修改学生信息
private static void reviseStudent(ArrayList list) {
//创建学生对象
Student stu = new Student();
//创建键盘录入
Scanner sc = new Scanner(System.in);
System.out.println(“请输要修改学生的学号:”);
int id = sc.nextInt();
System.out.println(“要修改的学生信息如下:”);
for (int i = 0; i < list.size(); i++) {
if(idlist.get(i).getId()){
Student stu3 = list.get(i);
System.out.println(“学号\t\t姓名\t\t年龄\t\t地址”);
System.out.println(stu3.getId()+"\t\t"+stu3.getNamae()+"\t\t"+stu3.getAge()+"\t\t"+stu3.getAddress());
}
}
System.out.println(“请输入学生新的学号:”);
int id2 = sc.nextInt();
System.out.println(“请输入学生新的姓名::”);
String name = sc.next();
System.out.println(“请输入学生新的年龄::”);
int age = sc.nextInt();
System.out.println(“请输入学生新的地址::”);
String address = sc.next();
//将要修改学生的信息保存到Student中,然后再通过list遍历获取新的学生信息
stu .setId(id2);
stu.setNamae(name);
stu.setAge(age);
stu.setAddress(address);
System.out.println(“修改完成的学生信息如下:”);
System.out.println(“学号\t\t姓名\t\t年龄\t\t地址”);
//遍历集合修改对应的学生信息
for (int i = 0; i < list.size(); i++) {
//定义Student类型的变量来接收list.get()获取的地址值
Student stu4 = list.get(i);
if(stu.getId()==id2){
System.out.println(stu4.getId()+"\t\t"+stu4.getNamae()+"\t\t"+stu4.getAge()+"\t\t"+stu4.getAddress());
}
}
}
//查询学生信息
private static void insertStudent(ArrayList list) {
//判断如果查询为没有对象就返回
if(list.size()==0) {
System.out.println(“没有学生信息,请添加学生信息”);
return;
}
System.out.println(“查找的学生信息如下:”);
System.out.println(“学号\t\t姓名\t\t年龄\t\t地址”);
for (int j = 0; j < list.size(); j++) {Student stu2 = list.get(j);System.out.println(stu2.getId()+"\t\t"+stu2.getNamae()+"\t"+stu2.getAge()+"\t\t"+stu2.getAddress());}
}
//添加学生
public static void addStudent(ArrayList<Student> list){//创建学生对象Student stu = new Student();//创建键盘录入Scanner sc = new Scanner(System.in);int id2;while (true){System.out.println("请输入学生学号:");id2 = sc.nextInt();boolean flag = isuser(list,id2);if(flag){System.out.println("你输入的学号已经被占用,请重新输入");}else{break;}}System.out.println("请输学生的学号:");int id = sc.nextInt();System.out.println("请输入学生姓名:");String name = sc.next();System.out.println("请输入学生年龄:");int age = sc.nextInt();System.out.println("请输入学生地址:");String address = sc.next();//给对象赋值stu.setId(id);stu.setNamae(name);stu.setAge(age);stu.setAddress(address);//使用list方法中的add将学生对象信息添加到集合中list.add(stu);//友好提示System.out.println("添加学生成功!");
}
//定义一个方法来判断学号是否被占用了
public static boolean isuser(ArrayList<Student> list,int id2){boolean flag = false;for(int i=0;i<list.size();i++){Student tu = list.get(i);if(tu.getId()==id2){flag = true;break;}}return flag;
}
}
//注:姓名、年龄都为int类型,不要输入其他类型
JavaSE学生管理系统(ArrayList集合来做)相关推荐
- Java学习的第三十天(JavaSE结束篇02_学生管理系统(集合+异常处理+对象流+递归输入判断))
一.学生管理系统的业务需求 1.需要有一个学生类,它有四个成员变量:ID 姓名 性别 班级 2.成员变量必须私有化,然后只能通过set方法赋值,通过get方法取值 3.通过set方法赋值时,如果输入的 ...
- java实现学生管理系统(集合HashMap实现)-学号唯一
文章目录 一.功能需求 二.代码框架 三.代码 1.学生类 Student.java 2.学生管理类 StudentManage.java 3.主程序 StudentMain.java 四.运行结果 ...
- Java(运用ArrayList集合)实现学生系统搜索学生信息功能
需求: 学生信息系统:展示数据,并按照学号完成搜索学生信息(学号,姓名,年龄,班级) 测试数据: "20180302","叶孤城",23,"护理一班& ...
- 综合案例----学生管理系统
学生类 package studentsystem;public class Student {private String id;private String name;private int ag ...
- 学生管理系统实现增删改查
学生管理系统实现增删改查 文章目录 学生管理系统实现增删改查 前言 一.代码块 二.代码分析 1.代码思路 2,学生类 3,接口 4,chuli类 5, 在主类中,kaishi方法 5,显示效果 前言 ...
- 理想国Java学生管理系统实战教程+源码
01.需求 使用所学知识制作一个学生管理系统,包含如下功能 查看所有学生 添加一个学生 删除一个学生 根据名字修改学生 根据名字查询学生 退出系统 说明 学生信息:姓名,性别,年龄 从控制台录入学生 ...
- 使用ArrayList集合实现学生管理系统
文章目录 实现思路 定义学生类 添加学生代码编写 查看学生代码编写 删除学生代码编写 修改学生代码编写 主界面代码编写 测试 添加信息 查看信息 删除信息 修改信息 实现思路 定义学生类 添加学生的代 ...
- 项目:ArrayList集合实现学生(自定义类)信息管理系统
项目:集合实现学生信息管理系统 存储自定义学生类 一.需求 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要修改 ...
- 用java做一个管理系统难吗_想知道怎样用Java做出一个学生管理系统,课一直听得一知半解。现在考试啥都不会?...
我觉得这个几天就能够做完,要不了半个月的吧 除非是JavaWEB版比较费时间君墨:javase到mysql综合学生管理系统zhuanlan.zhihu.com 部分代码实现: public stat ...
最新文章
- apache禁止访问html,apache 限制目录访问
- Matlab中 pdist 函数详解
- 现代软件工程 作业 最后一周总结
- Linux unit14
- ViBe(Visual Background extractor)背景建模或前景检测
- JavaWeb项目文件夹生成Zip压缩包并下载到本地
- WebAPI——cookie与session遇到的问题
- 以一种访问权限不允许的方式做了一个访问套接字的尝试。
- 清除windows的EFS加密
- 多线程总结之旅(9):线程同步之事件
- php 时间戳 24小时制,如何在php中添加24小时的unix时间戳?(How do I add 24 hours to a unix timestamp in php?)...
- 做个简单的Java学生考勤系统06--签到功能完善
- Svn与Git的优缺点(最通俗的话)
- 使用中国电信物联网开发者平台的步骤总结
- 修改手机屏幕刷新率_手机屏幕刷新率,真是越高越好吗?
- oracle实时异地同步,异地Oracle数据库数据同步
- 360度全景摄像是什么?360度全景摄像有什么用?
- C# 有什么实用的第三方库吗?
- Mysql中大于、大于等于、小于、小于等于的写法
- Beyond Compare 4.3.7 使用