需求
定义一个学生类:Student,属性为:id、姓名、年龄、性别、电话、Java成绩、数据库成绩、金融分析成绩。main方法中定义一个集合,用于存放控制台输入的对象信息。
行为:该系统可以通过选择初始菜单,分别对集合对象进行添加学生、删除学生、修改学生信息、条件查询学生信息等功能。
交互界面
(1)初始菜单:
——————欢迎使用大学互联网学院学生管理系统—————
1.添加学生
2.查询学生
3.修改学生
4.删除学生
——————————————————————————————
(2)查询功能:
可遍历打印所有学生信息(如果没有学生信息,提示:当前无学生信息,请先进行学生信息录入。如果有学生信息,则按需求输出下面格式。)
id 姓名 年龄 性别 电话 Java 数据库 金融分析
001 张小小 20 男 13006292277 90 95 84
(3)修改功能:
根据id完成对学生信息的修改
(4)删除功能:
依据id匹配删除对象数据。
功能
程序功能
实现《高校学生管理系统》,通过终端用户指令,对学生集合对象进行添加学生、删除学生、修改学生信息、条件查询学生信息等功能。
代码
JavaBean类
package priv.stu_system;
//定义一个学生类:Student,属性为:id、姓名、年龄、性别、电话、Java成绩、数据库成绩、金融分析成绩。
public class Student {
private String id;
private String name;
private int age;
private char gender;
private String phone;
private double java;
private double database;
private double finance;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
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 char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getJava() {
return java;
}
public void setJava(double java) {
this.java = java;
}
public double getDatabase() {
return database;
}
public void setDatabase(double database) {
this.database = database;
}
public double getFinance() {
return finance;
}
public void setFinance(double finance) {
this.finance = finance;
}
public Student(){//空参构造
}
public Student(String id,String name,int age,char gender,String phone,double java,double database,double finance){//构造方法实现私有属性初始化
//全参构造
this.id=id;
this.name=name;
this.age=age;
this.gender=gender;
this.phone=phone;
this.java=java;
this.finance=finance;
this.database=database;
}
}
工具类
package priv.stu_system;
import java.util.ArrayList;
import java.util.Scanner;
//对集合对象进行添加学生、删除学生、修改学生信息、条件查询学生信息等功能
public class ManagerTool {
//控制学生信息输入格式
static String format1="%-12s %-8s %-8s %-8s %-12s %-8s %-8s %-8s";
static String format2="%-12s %-7s %-7s %-6s %-11s %-8s %-6s %-8s";
static String header=String.format(format2,"id","姓名","年龄","性别","电话","Java","数据库","金融分析");
public static void AddStudent(ArrayList<Student> Stu){
//方法2:终端输入学生信息
System.out.print("请输入您想要添加的学生总数n:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println("请依次输入学生的id、姓名、年龄、性别、电话、Java成绩、数据库成绩、金融分析成绩(以空格隔开):");
for (int i = 0; i < n; i++) {
Student s = new Student();
s.setId(sc.next());
s.setName(sc.next());
s.setAge(sc.nextInt());
s.setGender(sc.next().charAt(0));
s.setPhone(sc.next());
s.setJava(sc.nextDouble());
s.setDatabase(sc.nextDouble());
s.setFinance(sc.nextDouble());
Stu.add(s);
}
System.out.println("======信息录入完毕!======");
}
public static void SelectStudent(ArrayList<Student> Stu) {
//(根据学号查询,如果没有学生信息,提示:当前无该学生信息,请先进行学生信息录入。如果有学生信息,则按需求格式输出。
System.out.print("请输入您要查询的学生学号:");
Scanner sc = new Scanner(System.in);
String id = sc.next();
int i;
for (i=0; i < Stu.size(); i++) {
Student s = Stu.get(i);
if ((s.getId()).equals(id)) {
System.out.println("查询成功!该学生信息如下:");
System.out.println(header);
System.out.printf((format1) + "%n", s.getId(), s.getName(), s.getAge(), s.getGender(),s.getPhone(), s.getJava(), s.getDatabase(), s.getFinance());
break;
}
}
if (i == Stu.size()) {
System.out.println("查询失败,当前无该学生信息,请先进行学生信息(功能选项1)录入!");
}
}
public static void AlertStudent(ArrayList<Student> Stu) {
System.out.print("请输入您要修改的学生的学号:");
Scanner sc = new Scanner(System.in);
String id = sc.next();
for (int i = 0; i < Stu.size(); i++) {
Student s = Stu.get(i);
if ((s.getId()).equals(id)) {
System.out.println("请输入修改后该学生的姓名、年龄、性别、电话、Java成绩、数据库成绩、金融分析成绩(以空格隔开):");
s.setName(sc.next());
s.setAge(sc.nextInt());
s.setGender(sc.next().charAt(0));
s.setPhone(sc.next());
s.setJava(sc.nextDouble());
s.setDatabase(sc.nextDouble());
s.setFinance(sc.nextDouble());
Stu.set(i,s);
System.out.println("======id为"+id+"的学生信息修改完毕!======");
}
}
}
public static void DeleteStudent(ArrayList<Student> Stu){
System.out.print("请输入您要删除的学生的学号:");
Scanner sc = new Scanner(System.in);
String id = sc.next();
for (int i = 0; i < Stu.size(); i++) {
Student s = Stu.get(i);
if ((s.getId()).equals(id)) {
Stu.remove(s);
System.out.println("======id为"+id+"的学生信息删除成功!======");
}
if (i == Stu.size()) {
System.out.println("删除失败,当前无该学生信息!");
}
}
}
public static void PrintStudent(ArrayList<Student> Stu){
//可遍历打印所有学生信息
System.out.println(header);
for (Student s : Stu) {
System.out.printf((format1) + "%n", s.getId(), s.getName(),s.getAge(),s.getGender(),s.getPhone(),s.getJava(),s.getDatabase(),s.getFinance());
}
}
}
Test类
package priv.stu_system;
import java.util.ArrayList;
import java.util.Scanner;
//学生类:Student,属性为:id、姓名、年龄、性别、电话、Java成绩、数据库成绩、金融分析成绩。
//main方法中定义一个集合,用于存放控制台输入的对象信息。
//初始菜单:
//——————欢迎使用大学互联网学院学生管理系统—————
// 1.添加学生
// 2.查询学生
// 3.修改学生
// 4.删除学生
//—————————————————————————————————————————
public class StuSystem {
public static void main(String[] args) {
//方法1:全参初始化3个学生对象加入集合
Student s1=new Student("Y82114001","Lily",20,'m',"05-8602",93,89.5,92);
Student s2=new Student("Y82114002","Bob",21,'f',"06-1234",91, 85.5, 88);
Student s3=new Student("Y82114003","Alice",21,'m',"07-7800",86, 90, 89);
ArrayList<Student> Stu = new ArrayList<Student>();
Stu.add(s1);
Stu.add(s2);
Stu.add(s3);
//初始菜单
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.退出系统");
Scanner sc = new Scanner(System.in);
Outer:while(true){
System.out.print("请输入您想要做的操作序号:");
int choose = sc.nextInt();
switch (choose){
case 1:
{
ManagerTool.AddStudent(Stu);
break;
}
case 2:
{
ManagerTool.SelectStudent(Stu);
break;
}
case 3:
{
ManagerTool.AlertStudent(Stu);
break;
}
case 4:
{
ManagerTool.DeleteStudent(Stu);
break;
}
case 5:
{
ManagerTool.PrintStudent(Stu);
break;
}
case 6:
{
System.out.println("成功退出,期待您的再次使用!");
break Outer;
}
default:{
System.out.println("功能选项输入不合法,请重新输入!");
break;
}
}
}
}
}