Java学生信息管理系统
Java学生信息管理系统
前言
简单实现Java学生信息管理系统,无数据库部分,仅用Java基础指数实现简单的Java学生信息管理系统。
学生信息可自由添加,功能仅限于简单的增删改查。
一、创建学生信息类
为简单操作,将学生信息设定为四项,学号,姓名,学院,专业,学号类似为数据库主键,不可重复,其他三项并无限制
package student_system;
public class student {
private String name;
private String id;
private String major;
private String college;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getCollege() {
return college;
}
public void setCollege(String college) {
this.college = college;
}
@Override
public String toString() {
return "student{" +
"name='" + name + '\'' +
", id=" + id +
", major='" + major + '\'' +
", college='" + college + '\'' +
'}';
}
二、实现系统功能
1.添加学生信息
代码如下(示例):
//将增加信息类功能封装为一个类,方便在主类中直接调用
package student_system;
public class add extends student{
public void addname(student s,String name){
s.setName(name);
}
public void addid(student s,String id){
s.setId(id);
}
public void addcollage(student s,String collage){
s.setCollege(collage);
}
public void addmajor(student s,String major){
s.setMajor(major);
}
}
在主类中设置判断学号是否重复功能,并在重复后执行推出,而在没有退出时,则会开始执行添加功能
Scanner input=new Scanner(System.in);
student s=new student();
System.out.println("-------------------------");
System.out.println("------------添加信息-------------");
System.out.println("-------------------------");
System.out.println("------------请输入ID-------------");
String id=input.nextLine();
boolean idif=false;
for (int i=0;i<ss.size();i++){
student flag=ss.get(i);
if(flag.getId().equals(id)){
idif=true;
}
}
if(!(idif)){
add.addid(s,id);
System.out.println("------------请输入姓名-------------");
String name=input.nextLine();
add.addname(s,name);
System.out.println("------------请输入学院-------------");
String college=input.nextLine();
add.addcollage(s,college);
System.out.println("------------请输入专业-------------");
String major=input.nextLine();
add.addmajor(s,major);
ss.add(s);
System.out.println("添加完成");
break;
}else {
System.out.println("1学号重复");
break;
}
2.删除学生信息
相同方式,设置删除功能,而删除功能较为简单,并未让其独立为一个类包,而是写入主函数中
Scanner input=new Scanner(System.in);
System.out.println("-------------------------");
System.out.println("------------删除信息-------------");
System.out.println("-------------------------");
System.out.println("请输入ID");
String id=input.nextLine();
boolean idif=false;
for (int i=0;i<ss.size();i++){
student flag=ss.get(i);
if(flag.getId().equals(id)){
idif=true;
if(idif){
ss.remove(i);
break ;
}
}
if(!idif){
System.out.println("2查无此人");
}
}
break;
3.修改学生信息
相同方式,设置修改功能,同样写入主函数中
System.out.println("-------------------------");
System.out.println("------------修改信息-------------");
System.out.println("请输入ID");
Scanner input=new Scanner(System.in);
String id=input.nextLine();
int index=-1;
for (int i=0;i<ss.size();i++){
student flag=ss.get(i);
if(flag.getId().equals(id)){
index=i;
}
}
if(index==-1){
System.out.println("3查无此人");
break;
}
else {
student s=ss.get(index);
System.out.println("输入你想要更改的属性名 ID,姓名,学院,专业");
String attribute=input.nextLine();//属性
switch (attribute){
case "ID":{
System.out.println("输入要改为的ID");
s.setId(input.nextLine());
}
case "姓名":{
System.out.println("输入要改为的姓名");
s.setName(input.nextLine());
}
case "学院":{
System.out.println("输入要改为的学院");
s.setCollege(input.nextLine());
}
case "专业":{
System.out.println("输入要改为的专业");
s.setMajor(input.nextLine());
}
}
ss.set(index,s);
System.out.println("\n修改完成");
}
break;
4.查看学生信息
使用时直接调用tostring()方法即可,若有要求,修改tostring()方法,或者再在类中增加方法即可
System.out.println("-------------------------");
System.out.println("------------查看信息-------------");
System.out.println("输入你要查看的学号");
Scanner input=new Scanner(System.in);
String id=input.nextLine();
int flag=-1;
for(int i=0;i<ss.size();i++){
student s = ss.get(i);
if(s.getId().equals(id)){
flag=i;
}
}
if(flag==-1){
System.out.println("4查无此人");
}else {
student s= ss.get(flag);
System.out.println(s.toString());
}
break;
总结
`在使用时,由于未使用数据库功能,为方便操作,将学生类放入一个集合中,在集合中统一进行管理操作,且为观看正常,提前在集合中增加两位学生信息。
功能选择时,选择使用switch和case的结构方便管理
以及最后设置退出功能
代码共三块,主类和student以及add类
package student_system;
import java.util.ArrayList;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
ArrayList<student> ss=new ArrayList<>();
add add=new add();
student s1=new student();
s1.setName("高启强");
s1.setId("120001");
s1.setCollege("机电工程学院");
s1.setMajor("自动化技术");
student s2=new student();
s2.setName("高启盛");
s2.setId("120002");
s2.setCollege("化学化工学院");
s2.setMajor("自然科学技术");
ss.add(s1);
ss.add(s2);
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("------------请选择您要的功能-------------");
Scanner sc=new Scanner(System.in);
tmp:while (true){
int option=sc.nextInt();
switch (option){
case 1:{
Scanner input=new Scanner(System.in);
student s=new student();
System.out.println("-------------------------");
System.out.println("------------添加信息-------------");
System.out.println("-------------------------");
System.out.println("------------请输入ID-------------");
String id=input.nextLine();
boolean idif=false;
for (int i=0;i<ss.size();i++){
student flag=ss.get(i);
if(flag.getId().equals(id)){
idif=true;
}
}
if(!(idif)){
add.addid(s,id);
System.out.println("------------请输入姓名-------------");
String name=input.nextLine();
add.addname(s,name);
System.out.println("------------请输入学院-------------");
String college=input.nextLine();
add.addcollage(s,college);
System.out.println("------------请输入专业-------------");
String major=input.nextLine();
add.addmajor(s,major);
ss.add(s);
System.out.println("添加完成");
break;
}else {
System.out.println("1学号重复");
break;
}
}
case 2:{//删
Scanner input=new Scanner(System.in);
System.out.println("-------------------------");
System.out.println("------------删除信息-------------");
System.out.println("-------------------------");
System.out.println("请输入ID");
String id=input.nextLine();
boolean idif=false;
for (int i=0;i<ss.size();i++){
student flag=ss.get(i);
if(flag.getId().equals(id)){
idif=true;
if(idif){
ss.remove(i);
break ;
}
}
if(!idif){
System.out.println("2查无此人");
}
}
break;
}
case 3:{//改
System.out.println("-------------------------");
System.out.println("------------修改信息-------------");
System.out.println("请输入ID");
Scanner input=new Scanner(System.in);
String id=input.nextLine();
int index=-1;
for (int i=0;i<ss.size();i++){
student flag=ss.get(i);
if(flag.getId().equals(id)){
index=i;
}
}
if(index==-1){
System.out.println("3查无此人");
break;
}
else {
student s=ss.get(index);
System.out.println("输入你想要更改的属性名 ID,姓名,学院,专业");
String attribute=input.nextLine();//属性
switch (attribute){
case "ID":{
System.out.println("输入要改为的ID");
s.setId(input.nextLine());
}
case "姓名":{
System.out.println("输入要改为的姓名");
s.setName(input.nextLine());
}
case "学院":{
System.out.println("输入要改为的学院");
s.setCollege(input.nextLine());
}
case "专业":{
System.out.println("输入要改为的专业");
s.setMajor(input.nextLine());
}
}
ss.set(index,s);
System.out.println("\n修改完成");
}
break;
}
case 4:{//看
System.out.println("-------------------------");
System.out.println("------------查看信息-------------");
System.out.println("输入你要查看的学号");
Scanner input=new Scanner(System.in);
String id=input.nextLine();
int flag=-1;
for(int i=0;i<ss.size();i++){
student s = ss.get(i);
if(s.getId().equals(id)){
flag=i;
}
}
if(flag==-1){
System.out.println("4查无此人");
}else {
student s= ss.get(flag);
System.out.println(s.toString());
}
break;
}
case 5:{
System.out.println("-------------------------");
System.out.println("------------退出系统-------------");
break tmp;
}
}
}
}
}