使用java怎么在控制台中实现一个学生信息管理系统?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3、Set集合:不可重复;4、Map映射:无序,键唯一,值不唯一。
系统模块结构图
系统业务流程图
Student类
public class Student {
private String stuNo;
private String name;
private int age;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String stuNo, String name, int age) {
super();
this.stuNo = stuNo;
this.name = name;
this.age = age;
}
public String getStuNo() {
return stuNo;
}
public void setStuNo(String stuNo) {
this.stuNo = stuNo;
}
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;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((stuNo == null) ? 0 : stuNo.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (stuNo == null) {
if (other.stuNo != null)
return false;
} else if (!stuNo.equals(other.stuNo))
return false;
return true;
}
@Override
public String toString() {
return "学生:学号 " + stuNo + ", 姓名 " + name + ", 年龄 " + age ;
}
}
StudentDao类
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;
public class StudentDAO {
static List<Student> list = new ArrayList<>();
static String ig = "1000";
Scanner sc = new Scanner(System.in);
// 增加学生信息
public void add(List<Student> list) {
int ig = Integer.parseInt(this.ig);
while (true) {
System.out.println(ig);
System.out.println("请输入你要添加的学号为" + ig + "的学生的姓名");
String name = sc.next();
while (true) {
System.out.println("请输入你要添加的学号为" + ig + "的学生的年龄");
Scanner sc1 = new Scanner(System.in);
if (sc1.hasNextInt()) {
int age = sc1.nextInt();
list.add(new Student(String.valueOf(ig), name, age));
break;
} else {
System.out.println("请正确输入");
continue;
}
}
System.out.println("学号为" + ig + "的学生信息添加成功");
ig++;
this.ig = String.valueOf(ig);
System.out.println("添加信息后,学生的信息为:");
query(list);
System.out.println("是否继续执行添加操作(y/n)");
String result = sc.next();
if (result.equalsIgnoreCase("n") || result.equalsIgnoreCase("y")) {
if (result.equalsIgnoreCase("n")) {
break;
}
}
}
}
// 删除学生信息
public void del(List<Student> list) {
if (list.size() != 0) {
a: while (true) {
query(list);
System.out.println("请输出你要删除的学生的学号");
String str = sc.next();
Iterator<Student> it = list.iterator();
while (it.hasNext()) {
Student stu = it.next();
if (stu.getStuNo().equals(str)) {
it.remove();
System.out.println("删除成功!");
System.out.println("删除操作后,学生的信息为:");
query(list);
break a;// 跳出到指定循环外
}
}
System.out.println("查无此人……请查证后重新输入");
}
} else {
System.out.println("还没有添加学生信息,快去添加学生信息吧");
}
}
// 修改学生信息
public void update(List<Student> list) {
if (list.size() != 0) {
a: while (true) {
query(list);
System.out.println("请输入要修改学生的学号:");
String stuNo = sc.next();
ListIterator<Student> lit = list.listIterator();
while (lit.hasNext()) {
Student stu = lit.next();
if (stu.getStuNo().equals(stuNo)) {
System.out.println("请输入您要修改的学生的姓名");
String name = sc.next();
System.out.println("请输入您要修改的学生的年龄");
if (sc.hasNextInt()) {
int age = sc.nextInt();
stu.setName(name);
stu.setAge(age);
System.out.println("修改操作后,学生的信息为:");
query(list);
break a;
} else {
System.out.println("请正确输入年龄");
}
}
}
System.out.println("查无此人……请查证后重新输入");
}
} else {
System.out.println("还没有添加学生信息,快去添加学生信息吧");
}
}
// 查询学生信息
public void query(List<Student> list) {
if (list.size() != 0) {
System.out.println("=============学生信息==============");
for (Student stu : list) {
System.out.println(stu);
}
System.out.println("=================================");
} else {
System.out.println("还没有添加学生信息,快去添加学生信息吧");
}
}
}
StudentManager类
import java.util.Scanner;
/**
*
* 创建时间:2019年12月6日 上午11:40:57
*
*
*/
public class StudentManager {
public static void main(String[] args) {
while (true) {
Scanner sc = new Scanner(System.in);
System.out.println();
System.out.println();
System.out.println("=================================");
System.out.println("=========欢迎使用学生管理系统 =========");
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("==================================");
System.out.println("请输入您的选择");
int choose;
if (sc.hasNextInt()) {
choose = sc.nextInt();
if (choose > 0 && choose < 6) {
Student st = new Student();
StudentDAO std = new StudentDAO();
switch (choose) {
case 1:
std.add(std.list);
break;
case 2:
std.del(std.list);
break;
case 3:
std.update(std.list);
break;
case 4:
std.query(std.list);
break;
case 5:
System.out.println("成功退出……");
System.out.println("欢迎下次使用");
System.exit(0);
break;
}
} else {
System.out.println("请正确输入");
}
} else {
System.out.println("请您输入正确的选项");
}
}
}
}
看完上述内容,你们掌握使用java怎么在控制台中实现一个学生信息管理系统的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。