java面向对象之学生信息管理系统

网友投稿 240 2023-05-05

java面向对象之学生信息管理系统

通过学习的一系列知识点综合的小案例,通过控制台来完成一系列的增删查改的操作。

准备工作

开发工具IDEA2019.1.4,jdk13

思路

一共三个类,一个接口

Student类:封装数据

StudentManager类:用于管理增删查改等方法体

StudentView类:用于主界面的视图

StudentInterface接口:用于编写抽象方法体,用于继承

存放学生数据用我们学过的ArrayList,由于类是一种引用数据类型,所以我们可以将泛型指代成Student

编写逻辑

业务层调用逻辑层,逻辑层调用数据层

知识点

面向对象,ArrayList,泛型,循环,迭代,switch

具体代码实现

Student.java

package com.zxy.bean;

public class Student {

private int id;

private String name;

private int age;

private String addr;

public Student(){

// 无参构造方法,防止出错

}

public Student(int id,String name,int age,String addr){

this.id=id;

this.name=name;

this.age=age;

this.addr=addr;

}

public int getId() {

return id;

}

public void setId(int 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 String getAddr() {

return addr;

}

public void setAddr(String addr) {

this.addr = addr;

}

@Override

public String toString() {

return "{ID: "+this.id+",name: "+this.name+",age: "+this.age+",addr: "+this.addr+"}";

}

}

StudentManager.java

package com.zxy.bean;

import java.util.ArrayList;

import java.util.Scanner;

public class StudentManager implements StudentInterface {

@Override

public void addStudent(ArrayList list) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入学号:");

int id=sc.nextInt();

System.out.println("请输入姓名:");

String name=sc.next();

System.out.println("请输入年龄:");

int age=sc.nextInt();

System.out.println("请输入地址:");

String addr=sc.next();

list.add(new Student(id,name,age,addr));

System.out.println("添加完成");

}

@Override

public void delStudent(ArrayList list) {

// 首先删除之前还是要判断一下有没有信息

Scanner sc=new Scanner(System.in);

if (list.size()==0){

// 如果为0,则说明list中没有学生信息

System.out.println("没有学生信息");

return;

}

findStudent(list);

System.out.println("输入要删除的学号:");

// 输入要删除的学号

int id=sc.nextInt();

// 判断要删除的id是不是在list中

for (int i=0;i

if (list.get(i).getId()==id){

Object string = list.remove(i);

System.out.println("删除成功,你删除的是:"+string);

}

}

}

@Override

public void findStudent(ArrayList list) {

if (list.size()==0){

System.out.println("没有学生信息");

}

// 查询全部学生信息

for (Student student:list){

System.out.println(student.toString());

System.out.println("信息已展示");

}

return;

}

@Override

public void changeStudent(ArrayList list) {

// 修改学生信息

Scanner sc=new Scanner(System.in);

if (list.size()==0){

System.out.println("当前没有学生信息");

return;// 这样会直接终止当前语句,不会执行下面的语句了

}

System.out.println("输入要修改的学生的学号:");

int id=sc.nextInt();

// 判断id是否在list中,如果在,就修改

boolean flag=false;// 如果boolean为false,那么说明没有在这个人

for (int i=0;i

if (list.get(i).getId()==id){

// 如果存在,就输入新的学号、姓名、年龄、地址

System.out.println("输入新的学号:");

int idNew=sc.nextInt();

System.out.println("输入新的姓名:");

String nameNew=sc.next();

System.out.println("输入新的年龄:");

int ageNew=sc.nextInt();

System.out.println("输入新的地址:");

String addrNew=sc.next();

list.set(i,new Student(idNew,nameNew,ageNew,addrNew));

System.out.println("修改成功");

return;

}

}

if (flag==false){

System.out.println("没有找到该学生呢,亲");

}

}

@Override

public void findOnlyStudent(ArrayList list) {

Scanner sc=new Scanner(System.in);

System.out.println("输入要查找的学生id:");

int id=sc.nextInt();

for (Student stu:list){

if (stu.getId()==id){

System.out.println(stu.toString());

}else {

System.out.println("你输入的id不存在");

return;

}

}

}

}

StudentView.java

package com.zxy.bean;

import java.util.ArrayList;

import java.util.Scanner;

public class StudentView {

public static void main(String[] args) {

menu();

}

// 封装一个主菜单的方法

public static void menu(){

// 数组保存学生信息,类型使用Student类型

ArrayList list=new ArrayList<>();

StudentManager stu=new StudentManager();

booleahttp://n flag=true;

while (flag){

System.out.println("***** 欢迎来到学生信息管理系统 *****");

System.out.println("******* 1.查询所有学生 *********")QrRcdOF;

System.out.println("******* 2.查询单个学生 *********");

System.out.println("******* 3.添加学生 *********");

System.out.println("******* 4.修改学生 *********");

System.out.println("******* 5.删除学生 *********");

System.out.println("******* 6.退出 *********");

System.out.println("**********************************");

System.out.println("请输入您要操作的序号: ");

// 序号选择

int choice=new Scanner(System.in).nextInt();

switch (choice){

case 1:

// 查询学生

stu.findStudent(list);

break;

case 2:

// 查询单个学生

stu.findOnlyStudent(list);

break;

case 3:

// 添加学生

stu.addStudent(list);

break;

case 4:

// 修改学生

stu.changeStudent(list);

break;

case 5:

// 删除学生

stu.delStudent(list);

break;

case 6:

// 退出程序

flag=false;

System.out.println("程序退出成功,欢迎下次使用");

break;

}

}

}

}

StudentInterface.java

package com.zxy.bean;

import java.util.ArrayList;

public interface StudentInterface {

void addStudent(ArrayList list);

void delStudent(ArrayList list);

void findStudent(ArrayList list);

void changeStudent(ArrayList list);

void findOnlyStudent(ArrayList list);

}

运行截图

关于管理系统的更多内容请点击《管理系统专题》进行学习

if (list.get(i).getId()==id){

Object string = list.remove(i);

System.out.println("删除成功,你删除的是:"+string);

}

}

}

@Override

public void findStudent(ArrayList list) {

if (list.size()==0){

System.out.println("没有学生信息");

}

// 查询全部学生信息

for (Student student:list){

System.out.println(student.toString());

System.out.println("信息已展示");

}

return;

}

@Override

public void changeStudent(ArrayList list) {

// 修改学生信息

Scanner sc=new Scanner(System.in);

if (list.size()==0){

System.out.println("当前没有学生信息");

return;// 这样会直接终止当前语句,不会执行下面的语句了

}

System.out.println("输入要修改的学生的学号:");

int id=sc.nextInt();

// 判断id是否在list中,如果在,就修改

boolean flag=false;// 如果boolean为false,那么说明没有在这个人

for (int i=0;i

if (list.get(i).getId()==id){

// 如果存在,就输入新的学号、姓名、年龄、地址

System.out.println("输入新的学号:");

int idNew=sc.nextInt();

System.out.println("输入新的姓名:");

String nameNew=sc.next();

System.out.println("输入新的年龄:");

int ageNew=sc.nextInt();

System.out.println("输入新的地址:");

String addrNew=sc.next();

list.set(i,new Student(idNew,nameNew,ageNew,addrNew));

System.out.println("修改成功");

return;

}

}

if (flag==false){

System.out.println("没有找到该学生呢,亲");

}

}

@Override

public void findOnlyStudent(ArrayList list) {

Scanner sc=new Scanner(System.in);

System.out.println("输入要查找的学生id:");

int id=sc.nextInt();

for (Student stu:list){

if (stu.getId()==id){

System.out.println(stu.toString());

}else {

System.out.println("你输入的id不存在");

return;

}

}

}

}

StudentView.java

package com.zxy.bean;

import java.util.ArrayList;

import java.util.Scanner;

public class StudentView {

public static void main(String[] args) {

menu();

}

// 封装一个主菜单的方法

public static void menu(){

// 数组保存学生信息,类型使用Student类型

ArrayList list=new ArrayList<>();

StudentManager stu=new StudentManager();

booleahttp://n flag=true;

while (flag){

System.out.println("***** 欢迎来到学生信息管理系统 *****");

System.out.println("******* 1.查询所有学生 *********")QrRcdOF;

System.out.println("******* 2.查询单个学生 *********");

System.out.println("******* 3.添加学生 *********");

System.out.println("******* 4.修改学生 *********");

System.out.println("******* 5.删除学生 *********");

System.out.println("******* 6.退出 *********");

System.out.println("**********************************");

System.out.println("请输入您要操作的序号: ");

// 序号选择

int choice=new Scanner(System.in).nextInt();

switch (choice){

case 1:

// 查询学生

stu.findStudent(list);

break;

case 2:

// 查询单个学生

stu.findOnlyStudent(list);

break;

case 3:

// 添加学生

stu.addStudent(list);

break;

case 4:

// 修改学生

stu.changeStudent(list);

break;

case 5:

// 删除学生

stu.delStudent(list);

break;

case 6:

// 退出程序

flag=false;

System.out.println("程序退出成功,欢迎下次使用");

break;

}

}

}

}

StudentInterface.java

package com.zxy.bean;

import java.util.ArrayList;

public interface StudentInterface {

void addStudent(ArrayList list);

void delStudent(ArrayList list);

void findStudent(ArrayList list);

void changeStudent(ArrayList list);

void findOnlyStudent(ArrayList list);

}

运行截图

关于管理系统的更多内容请点击《管理系统专题》进行学习

if (list.get(i).getId()==id){

// 如果存在,就输入新的学号、姓名、年龄、地址

System.out.println("输入新的学号:");

int idNew=sc.nextInt();

System.out.println("输入新的姓名:");

String nameNew=sc.next();

System.out.println("输入新的年龄:");

int ageNew=sc.nextInt();

System.out.println("输入新的地址:");

String addrNew=sc.next();

list.set(i,new Student(idNew,nameNew,ageNew,addrNew));

System.out.println("修改成功");

return;

}

}

if (flag==false){

System.out.println("没有找到该学生呢,亲");

}

}

@Override

public void findOnlyStudent(ArrayList list) {

Scanner sc=new Scanner(System.in);

System.out.println("输入要查找的学生id:");

int id=sc.nextInt();

for (Student stu:list){

if (stu.getId()==id){

System.out.println(stu.toString());

}else {

System.out.println("你输入的id不存在");

return;

}

}

}

}

StudentView.java

package com.zxy.bean;

import java.util.ArrayList;

import java.util.Scanner;

public class StudentView {

public static void main(String[] args) {

menu();

}

// 封装一个主菜单的方法

public static void menu(){

// 数组保存学生信息,类型使用Student类型

ArrayList list=new ArrayList<>();

StudentManager stu=new StudentManager();

booleahttp://n flag=true;

while (flag){

System.out.println("***** 欢迎来到学生信息管理系统 *****");

System.out.println("******* 1.查询所有学生 *********")QrRcdOF;

System.out.println("******* 2.查询单个学生 *********");

System.out.println("******* 3.添加学生 *********");

System.out.println("******* 4.修改学生 *********");

System.out.println("******* 5.删除学生 *********");

System.out.println("******* 6.退出 *********");

System.out.println("**********************************");

System.out.println("请输入您要操作的序号: ");

// 序号选择

int choice=new Scanner(System.in).nextInt();

switch (choice){

case 1:

// 查询学生

stu.findStudent(list);

break;

case 2:

// 查询单个学生

stu.findOnlyStudent(list);

break;

case 3:

// 添加学生

stu.addStudent(list);

break;

case 4:

// 修改学生

stu.changeStudent(list);

break;

case 5:

// 删除学生

stu.delStudent(list);

break;

case 6:

// 退出程序

flag=false;

System.out.println("程序退出成功,欢迎下次使用");

break;

}

}

}

}

StudentInterface.java

package com.zxy.bean;

import java.util.ArrayList;

public interface StudentInterface {

void addStudent(ArrayList list);

void delStudent(ArrayList list);

void findStudent(ArrayList list);

void changeStudent(ArrayList list);

void findOnlyStudent(ArrayList list);

}

运行截图

关于管理系统的更多内容请点击《管理系统专题》进行学习

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用Android studio3.6的java api方式调用opencv
下一篇:Java后台实现微信支付和微信退款
相关文章

 发表评论

暂时没有评论,来抢沙发吧~