这篇文章主要为大家详细介绍了Java版学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Java版学生管理系统的具体代码,供大家参考,具体内容如下
学生类
//学生类
public class Student {
//学号
private int sid;
//姓名
private String name;
//年龄
private int age;
//地址
private String address;
//创建构造方法
public Student(){
}
public Student(int sid,String name,int age,String address){
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
//获取学生id
public int getSid(){
return sid;
}
//给学生id赋值
public void setSid(int sid){
this.sid = sid;
}
//获取学生姓名
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 String getAddress(){
return address;
}
//给学生地址赋值
public void setAddress(String address){
this.address = address;
}
}
判断学号是否重复
import java.util.ArrayList;
//检查学号存在问题
public class IsUsed {
//判断学号是否存在,存在返回true,否则返回false
public static boolean isUsed(ArrayList<Student> array, int sid){
boolean flag = false;
for(int i = 0;i < array.size(); i++){
Student s = array.get(i);
//添加的学生的学号与集合中有相同的则返回true
if(s.getSid() == sid){
flag = true;
break;
}
}
return flag;
}
}
添加学生
import java.util.*;
import java.util.Scanner;
//添加学生信息类
public class AddStudent {
//添加学生信息的方法
public static void addStudentsWay(ArrayList<Student> array){
//创建扫描器
Scanner sc = new Scanner(System.in);
//为了让sid在while循环外面被访问到,则将它定义在循环之外
int sid;
//在输入学号前判断此学号是否已存在,如果已存在则重新输入
System.out.println("请输入学生学号:");
sigin:while(true){
sid = sc.nextInt();
//如果学号重复则重新输入
boolean flag = IsUsed.isUsed(array,sid);
//学号无重复执行添加学生功能
if(!flag){
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
System.out.println("请输入学生居住地:");
String address = sc.next();
//创建学生对象,把输入的数据赋值给学生对象
Student s = new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//将学生对象添加到集合中
array.add(s);
//给出添加成功提示
System.out.println("添加学生成功!\n");
break;
}else{
System.out.println("此学号已存在!无法添加学生!");
System.out.println("重新添加请输入1,退出该功能请输入0:");
while(true) {
int n = sc.nextInt();
if (n == 1) {
System.out.println("请输入学生学号:");
break;
}
else if (n == 0) {
break sigin;
}
else{
System.out.println("对不起输入有误!输入1重新添加,输入0退出该功能:");
}
}
}
}
}
}
修改学生信息
import java.util.ArrayList;
import java.util.Scanner;
//修改学生信息
public class UpdateStudent {
public static void updateStudentWay(ArrayList<Student> array){
//创建扫描器
Scanner sc = new Scanner(System.in);
int sid;
System.out.println("请输入要修改的学生学号:");
sigin:while(true){
sid = sc.nextInt();
//判断学号是否存在-
boolean flag = IsUsed.isUsed(array,sid);
//学号存在执行修改操作
if(flag){
//键盘输入要修改的学生的信息
System.out.println("请输入学生的新姓名:");
String name = sc.next();
System.out.println("请输入学生的新年龄:");
int age = sc.nextInt();
System.out.println("请输入学生的新居住地:");
String address = sc.next();
//创建学生对象,将输入的值存入进去
Student s =new Student();
s.setSid(sid);
s.setName(name);
s.setAge(age);
s.setAddress(address);
//遍历集合修改对应的学生信息
for(int i = 0;i < array.size(); i++){
Student student = array.get(i);
if(student.getSid() == sid){
array.set(i,s);//赋值
break;
}
}
System.out.println("修改学生信息成功!\n");
break;
}else{
System.out.println("该学生不存在,修改学生信息失败!");
System.out.println("重新修改请输入1,退出该功能请输入0:");
while(true) {
int n = sc.nextInt();
if (n == 1) {
System.out.println("请输入修改学生的学号:");
break;
} else if (n == 0) {
break sigin;
} else {
System.out.println("对不起输入有误!输入1重新修改,输入0退出该功能:");
}
}
}
}
}
}
删除学生
import java.util.ArrayList;
import java.util.Scanner;
//删除学生信息
public class DeleteStudent {
public static void deleteStudentWay(ArrayList<Student> array) {
//键盘输入要删除的学生学号,显示提示信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除学生的学号:");
sigin:while (true) {
int sid = sc.nextInt();
//遍历集合对应学生对象从集合中删除
//在删除/修改学生操作前,对学号进行判断是否存在
//如果存在执行删除/修改操作
//否则显示提示信息
int index = -1;
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (sid == s.getSid()) {
//将要删除的学生下标保存
index = i;
break;
}
}
if (index == -1) {
System.out.println("该学生不存在,删除学生失败!");
System.out.println("重新删除请输入1,退出该功能请输入0:");
while(true) {
int n = sc.nextInt();
if (n == 1) {
System.out.println("请输入删除学生的学号:");
break;
}
else if (n == 0) {
break sigin;
}
else{
System.out.println("对不起输入有误!输入1重新删除,输入0退出该功能:");
}
}
} else {
array.remove(index);
System.out.println("删除学生成功!\n");
break;
}
}
}
}
查看所有学生信息
import java.util.ArrayList;
//查看所有学生的信息
public class SeeStudent {
public static void findAllStudentWay(ArrayList<Student> array){
//判断集合中有无数据,如果没有显示提示信息
if(array.size() == 0){
System.out.println("无信息可查,请先添加信息后再查询!");
return;
}
System.out.println("学号\t\t姓名\t\t年龄\t\t居住地址");
//将集合中的数据取出按照对应格式显示所有学生信息,年龄补充显示“岁”
for(int i = 0;i < array.size(); i++){
Student s = array.get(i);
System.out.println(s.getSid()+"\t\t"+s.getName()+"\t\t"+s.getAge()+"岁\t\t"+s.getAddress());
}
}
}
学生管理系统主界面
import java.util.ArrayList;
import java.util.Scanner;
//主方法实现学生管理系统
@SuppressWarnings("all")
public class textMain {
/**
* 1.用输出语句完成主界面的编写
* 2.用Scanner实现键盘录入数据
* 3.用switch选择语句完成选择操作
* 4.用while循环语句完成操作的选择
* 5.用循环完成再次回到主界面
*/
public static void main(String[] args){
//创建集合对象,用于存储学生数据
ArrayList<Student> array = new ArrayList<>();
//用循环完成再次回到主界面
System.out.println("--------欢迎进入学生管理系统--------");
while(true){
//输出语句完成主界面的编写
System.out.println("1 添加学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看所有学生信息");
System.out.println("5 退出系统");
System.out.println("\n请输入你的选择:");
//用Scanner实现键盘录入数据
Scanner sc = new Scanner(System.in);
int line = sc.nextInt();
//用switch语句完成选择操作
index:switch(line){
//添加学生
case 1:
//判断输入的指令是否有误
System.out.println("\n确定进入添加学生功能吗(1/0):");
while(true) {
int number = sc.nextInt();
if(number == 1){
break;
}
if(number == 0){
break index;//跳出指定的循环语句
}
if (number != 1 || number != 0) {
System.out.println("对不起,输入有误,请输入1进入该功能,输入0退出此功能!");
}
}
//输入无误则执行以下程序
System.out.println("欢迎进入添加学生功能->->->");
AddStudent.addStudentsWay(array);
System.out.println("请继续你的选择->->->");
break;
//删除学生
case 2:
//判断输入的指令是否有误
System.out.println("\n确定进入删除学生功能吗(1/0):");
while(true) {
int number = sc.nextInt();
if(number == 1){
break;
}
if(number == 0){
break index;//跳出指定的循环语句
}
if (number != 1 || number != 0) {
System.out.println("对不起,输入有误,请输入1进入该功能,输入0退出此功能!");
}
}
//输入无误则执行以下代码
System.out.println("欢迎进入删除学生功能->->->");
DeleteStudent.deleteStudentWay(array);
System.out.println("请继续你的选择->->->");
break;
//修改学生
case 3:
//判断输入的指令是否有误
System.out.println("\n确定进入修改学生功能吗(1/0):");
while(true) {
int number = sc.nextInt();
if(number == 1){
break;
}
if(number == 0){
break index;//跳出指定的循环语句
}
if (number != 1 || number != 0) {
System.out.println("对不起,输入有误,请输入1进入该功能,输入0退出此功能!");
}
}
//输入无误则执行以下代码
System.out.println("欢迎进入修改学生功能->->->");
UpdateStudent.updateStudentWay(array);
System.out.println("请继续你的选择->->->");
break;
//查看所有学生信息
case 4:
//判断输入的指令是否有误
System.out.println("\n确定进入查看所有学生信息功能吗(1/0):");
while(true) {
int number = sc.nextInt();
if(number == 1){
break;
}
if(number == 0){
break index;//跳出指定的循环语句
}
if (number != 1 || number != 0) {
System.out.println("对不起,输入有误,请输入1进入该功能,输入0退出此功能!");
}
}
//输入无误则执行以下代码
System.out.println("----------欢迎来到查看所有学生信息功能----------");
SeeStudent.findAllStudentWay(array);
System.out.println("请继续你的选择->->->");
break;
//退出系统
case 5:
//判断输入的指令是否有误
System.out.println("正在进行系统退出->->->\n");
System.out.println("确定要退出吗(1/0)");
while(true) {
int number = sc.nextInt();
if(number == 1){
//给此系统评分
System.out.println("感谢对此系统的使用,请给出您宝贵的评价(按enter键确认):");
int score = sc.nextInt();
System.out.println("已收到您给出宝贵的"+score+"分啦!!!\n");
System.out.println("系统正在退出中......\n\n感谢对此系统的使用,欢迎下次光临!");
//return; //输入1退出系统
//使JVM虚拟机停止运行
System.exit(0);
}
if(number == 0){
break index;//跳出指定的循环语句
}
if (number != 1 || number != 0) {
System.out.println("对不起,输入有误,请输入1进入该功能,输入0退出此功能!");
}
}
//输出有误提示重新输入
default:
System.out.println("对不起,你输入的指令有误,请重新输入:\n");
break;
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:Java版学生管理系统
基础教程推荐
猜你喜欢
- Java文件管理操作的知识点整理 2023-05-19
- java基础知识之FileInputStream流的使用 2023-08-11
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- Java并发编程进阶之线程控制篇 2023-03-07
- Java实现查找文件和替换文件内容 2023-04-06
- Java数据结构之对象比较详解 2023-03-07
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- java实现多人聊天系统 2023-05-19
- Java实现线程插队的示例代码 2022-09-03
- springboot自定义starter方法及注解实例 2023-03-31