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集合来做)相关推荐

  1. Java学习的第三十天(JavaSE结束篇02_学生管理系统(集合+异常处理+对象流+递归输入判断))

    一.学生管理系统的业务需求 1.需要有一个学生类,它有四个成员变量:ID 姓名 性别 班级 2.成员变量必须私有化,然后只能通过set方法赋值,通过get方法取值 3.通过set方法赋值时,如果输入的 ...

  2. java实现学生管理系统(集合HashMap实现)-学号唯一

    文章目录 一.功能需求 二.代码框架 三.代码 1.学生类 Student.java 2.学生管理类 StudentManage.java 3.主程序 StudentMain.java 四.运行结果 ...

  3. Java(运用ArrayList集合)实现学生系统搜索学生信息功能

    需求: 学生信息系统:展示数据,并按照学号完成搜索学生信息(学号,姓名,年龄,班级) 测试数据: "20180302","叶孤城",23,"护理一班& ...

  4. 综合案例----学生管理系统

    学生类 package studentsystem;public class Student {private String id;private String name;private int ag ...

  5. 学生管理系统实现增删改查

    学生管理系统实现增删改查 文章目录 学生管理系统实现增删改查 前言 一.代码块 二.代码分析 1.代码思路 2,学生类 3,接口 4,chuli类 5, 在主类中,kaishi方法 5,显示效果 前言 ...

  6. 理想国Java学生管理系统实战教程+源码

    01.需求 使用所学知识制作一个学生管理系统,包含如下功能 查看所有学生 添加一个学生 删除一个学生 根据名字修改学生 根据名字查询学生 退出系统 说明 学生信息:姓名,性别,年龄 从控制台录入学生 ...

  7. 使用ArrayList集合实现学生管理系统

    文章目录 实现思路 定义学生类 添加学生代码编写 查看学生代码编写 删除学生代码编写 修改学生代码编写 主界面代码编写 测试 添加信息 查看信息 删除信息 修改信息 实现思路 定义学生类 添加学生的代 ...

  8. 项目:ArrayList集合实现学生(自定义类)信息管理系统

    项目:集合实现学生信息管理系统 存储自定义学生类 一.需求 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要修改 ...

  9. 用java做一个管理系统难吗_想知道怎样用Java做出一个学生管理系统,课一直听得一知半解。现在考试啥都不会?...

    我觉得这个几天就能够做完,要不了半个月的吧 除非是JavaWEB版比较费时间君墨:javase到mysql综合学生管理系统​zhuanlan.zhihu.com 部分代码实现: public stat ...

最新文章

  1. apache禁止访问html,apache 限制目录访问
  2. Matlab中 pdist 函数详解
  3. 现代软件工程 作业 最后一周总结
  4. Linux unit14
  5. ViBe(Visual Background extractor)背景建模或前景检测
  6. JavaWeb项目文件夹生成Zip压缩包并下载到本地
  7. WebAPI——cookie与session遇到的问题
  8. 以一种访问权限不允许的方式做了一个访问套接字的尝试。
  9. 清除windows的EFS加密
  10. 多线程总结之旅(9):线程同步之事件
  11. php 时间戳 24小时制,如何在php中添加24小时的unix时间戳?(How do I add 24 hours to a unix timestamp in php?)...
  12. 做个简单的Java学生考勤系统06--签到功能完善
  13. Svn与Git的优缺点(最通俗的话)
  14. 使用中国电信物联网开发者平台的步骤总结
  15. 修改手机屏幕刷新率_手机屏幕刷新率,真是越高越好吗?
  16. oracle实时异地同步,异地Oracle数据库数据同步
  17. 360度全景摄像是什么?360度全景摄像有什么用?
  18. C# 有什么实用的第三方库吗?
  19. Mysql中大于、大于等于、小于、小于等于的写法
  20. Beyond Compare 4.3.7 使用

热门文章

  1. AI会议的总结(by南大周志华)
  2. 最详细使用vue-cli创建一个通用的vue项目模板
  3. 【苹果共享相册推送】imessage苹果共享相簿第一个第二代月,然后更换服务器证书
  4. 航天信息Aisino AX-315 打印机驱动
  5. mysql 测试环境过一段时间就连接不上
  6. 摩托车头盔做CCC认证费用多少
  7. 2022-05-12 redis删除key
  8. 上机实验3-1 Java面向对象编程(一)
  9. 又一个10年来学习的回忆
  10. oracle execute immediate create,ORACLE EXECUTE IMMEDIATE 用法详解