基于java的学生管理系统很少,今天就给大家实现一下吧!!!效果图如下:
1、需求分析:
1.1 录入学生信息:
我们需要将学生的学号,姓名,年龄,性别,家庭住址录入到我们的学生表里面,以便我们进行后续操作。
1.2 显示所有学生信息:
显示方式:将学生表的所有学生信息遍历输出即可。
1.3 删除学生信息:
删除方式:学号 。通过对删除指定学生学号将这个学生信息从学生表当中删除。
1.4 修改学生信息:
修改方式:学号。通过对指定学号将该学生的姓名,C语言成绩,java成绩以及高数成 修改。
1.5 统计学生的总人数:
统计方式:统计学生表的学生信息个数即可。
一、菜单
方法如下:
public static void showMenu() {
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("-----------6.展示学生信息------------");
System.out.println("-----------7.退出系统------------");
}
二、添加学生
方法如下:
public static ArrayList<Student> addStudent(ArrayList<Student> students) {
Student s = new Student();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名");
String name = scanner.next();
s.setName(name);
System.out.println("请输入学生年龄");
int age = scanner.nextInt();
s.setAge(age);
System.out.println("请输入学生性别");
String gender = scanner.next();
s.setGender(gender);
while (true) {
System.out.println("请输入学生学号");
int id = scanner.nextInt();
boolean flag = cheakId(students, id);
if (flag) {
System.out.println("该学号已存在,请重新输入");
} else {
s.setId(id);
break;
}
}
System.out.println("请输入学生家庭住址");
String address = scanner.next();
s.setAddtress(address);
students.add(s);
System.out.println("学生信息录入成功");
return students;
}
三、显示学生
方法如下:
public static void showStudent(ArrayList<Student> students) {
if (students.isEmpty()) {
System.out.println("暂无学生信息");
return;
}
System.out.println("-----------学生信息------------");
System.out.println("学号\t" + "\t" + "\t" + "姓名\t" + "\t" + "\t" + "年龄\t" + "\t" + "\t" + "性别\t" + "\t" + "\t" + "家庭住址" + "\t" + "\t");
for (Student student : students) {
System.out.print(student.getId() + "\t");
System.out.print(student.getName() + "\t");
System.out.print(student.getAge() + "\t");
System.out.print(student.getGender() + "\t");
System.out.print(student.getAddtress() + "\t");
System.out.println();
}
}
四、修改学生
方法如下:
public static void updateStudent(ArrayList<Student> students) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生的学号");
int id = scanner.nextInt();
if (cheakId(students, id)) {
//id存在
for (Student student : students) {
if (student.getId() == id) {
System.out.println("请输入新的姓名");
student.setName(scanner.next());
System.out.println("请输入新的年龄");
student.setAge(scanner.nextInt());
System.out.println("请输入新的性别");
student.setGender(scanner.next());
System.out.println("请输入新的学号");
student.setId(scanner.nextInt());
System.out.println("请输入新的家庭住址");
student.setAddtress(scanner.next());
System.out.println("修改成功");
return;
}
}
//id存在
} else {
//id不存在
System.out.println("没有找到该学生");
}
}
}
五、删除学生
方法如下:
public static void deleteStudent(ArrayList<Student> students) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生的学号");
int id = scanner.nextInt();
if (cheakId(students, id)) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId() == id) {
students.remove(i);
System.out.println("删除成功");
return;
}
}
} else {
System.out.println("没有找到该学生");
}
}
六、根据学号查看学生(比如修改,删除之前,就要先查询)
方法如下:
public static boolean cheakId(ArrayList<Student> list, int id) {
for (Student student : list) {
if (student.getId() == id) {
return true;
}
}
return false;
}
七、统计学生
方法如下:
private static void countStudent(ArrayList<Student> students) {
System.out.println(STR."-----------学生总数为:\{students.size()}------------");
}
八、main方法
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
Scanner sc = new Scanner(System.in);
String choice;
while (true) {
showMenu();
System.out.println("请输入您的选择:");
choice = sc.next();
switch (choice) {
case "1":
// 添加学生
addStudent(students);
break;
case "2":
// 删除学生
deleteStudent(students);
break;
case "3":
// 修改学生信息
updateStudent(students);
break;
case "4":
// 查询学生信息
showStudent(students);
break;
case "5":
// 统计学生总数
countStudent(students);
break;
case "6":
System.out.println("感谢您的使用,再见");
System.exit(0);
default:
System.out.println("输入有误,请重新输入");
}
}
}
以上便是简单版学生管理系统的实现方法,下面是总体代码:
package SudentManger.Student;
import java.util.ArrayList;
import java.util.Scanner;
public class Student {
private String name;
private int age;
private String gender;
private static int id;
private String addtress;
public Student() {
}
public Student(String name, int age, String gender, int id, String addtress) {
this.name = name;
this.age = age;
this.gender = gender;
this.id = id;
this.addtress = addtress;
}
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 getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAddtress() {
return addtress;
}
public void setAddtress(String addtress) {
this.addtress = addtress;
}
public static void main(String[] args) {
ArrayList<Student> students = new ArrayList<>();
Scanner sc = new Scanner(System.in);
String choice;
while (true) {
showMenu();
System.out.println("请输入您的选择:");
choice = sc.next();
switch (choice) {
case "1":
// 添加学生
addStudent(students);
break;
case "2":
// 删除学生
deleteStudent(students);
break;
case "3":
// 修改学生信息
updateStudent(students);
break;
case "4":
// 查询学生信息
showStudent(students);
break;
case "5":
// 统计学生总数
countStudent(students);
break;
case "6":
System.out.println("感谢您的使用,再见");
System.exit(0);
default:
System.out.println("输入有误,请重新输入");
}
}
}
private static void countStudent(ArrayList<Student> students) {
System.out.println(STR."-----------学生总数为:\{students.size()}------------");
}
//菜单
public static void showMenu() {
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("-----------6.展示学生信息------------");
System.out.println("-----------7.退出系统------------");
}
//添加学生
public static ArrayList<Student> addStudent(ArrayList<Student> students) {
Student s = new Student();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名");
String name = scanner.next();
s.setName(name);
System.out.println("请输入学生年龄");
int age = scanner.nextInt();
s.setAge(age);
System.out.println("请输入学生性别");
String gender = scanner.next();
s.setGender(gender);
while (true) {
System.out.println("请输入学生学号");
int id = scanner.nextInt();
boolean flag = cheakId(students, id);
if (flag) {
System.out.println("该学号已存在,请重新输入");
} else {
s.setId(id);
break;
}
}
System.out.println("请输入学生家庭住址");
String address = scanner.next();
s.setAddtress(address);
students.add(s);
System.out.println("学生信息录入成功");
return students;
}
//显示学生信息
public static void showStudent(ArrayList<Student> students) {
if (students.isEmpty()) {
System.out.println("暂无学生信息");
return;
}
System.out.println("-----------学生信息------------");
System.out.println("学号\t" + "\t" + "\t" + "姓名\t" + "\t" + "\t" + "年龄\t" + "\t" + "\t" + "性别\t" + "\t" + "\t" + "家庭住址" + "\t" + "\t");
for (Student student : students) {
System.out.print(student.getId() + "\t");
System.out.print(student.getName() + "\t");
System.out.print(student.getAge() + "\t");
System.out.print(student.getGender() + "\t");
System.out.print(student.getAddtress() + "\t");
System.out.println();
}
}
//根据学号查看学生
public static boolean cheakId(ArrayList<Student> list, int id) {
for (Student student : list) {
if (student.getId() == id) {
return true;
}
}
return false;
}
//删除学生信息
public static void deleteStudent(ArrayList<Student> students) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生的学号");
int id = scanner.nextInt();
if (cheakId(students, id)) {
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getId() == id) {
students.remove(i);
System.out.println("删除成功");
return;
}
}
} else {
System.out.println("没有找到该学生");
}
}
//修改学生信息
public static void updateStudent(ArrayList<Student> students) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生的学号");
int id = scanner.nextInt();
if (cheakId(students, id)) {
//id存在
for (Student student : students) {
if (student.getId() == id) {
System.out.println("请输入新的姓名");
student.setName(scanner.next());
System.out.println("请输入新的年龄");
student.setAge(scanner.nextInt());
System.out.println("请输入新的性别");
student.setGender(scanner.next());
System.out.println("请输入新的学号");
student.setId(scanner.nextInt());
System.out.println("请输入新的家庭住址");
student.setAddtress(scanner.next());
System.out.println("修改成功");
return;
}
}
//id存在
} else {
//id不存在
System.out.println("没有找到该学生");
}
}
}
注:复制粘贴的同学注意一下包名和类名