本文讲的是基于java的ArrayList<>类 实现一个简单的学生管理系统(添加学生信息,删除学生信息,修改学生信息,查看所有学生信息 注:做的比较简单,没有写学号相同时的情况等) 废话不多说,下面讲一讲过程.
当然,也可以选择不看,哈哈哈。最下面有所有代码;
我也是个小趴菜,如果有误导处,勿喷。如果觉得还行,帮忙点个赞哦,谢谢!
首先 ,我们先创建一个Student类,然后定义相关的成员变量(这里我自己写的是4个:姓名,学号,年龄,地址(同时,为了录入数据的方便,把所有成员变量都定义为了String,可自己修改)。这里看个人想法定义,哪怕你只定义一个也行)
private String name;
private String num;
private String age;
private String address;
定义完这些成员变量,我们就可以为这些成员变量进行相应的构造方法了,一般定义一个无参构造方法和一个有参构造方法 如下:
public Student() {} //无参构造方法
public Student(String name,String num,String age,String address) {
this.name = name; this.num = num;this.age= age;this.address =address;
//可以用ctrl + alt + l 来调整格式
}
定义好构造方法之后,就是定义成员变量的set,get方法了 : 也可以用快捷键 Alt + Insert 创建
set方法发定义格式是:
public void setXxx(数据类型 名称) {
this.名称 = 名称;
}
eg: public void setName(String name) {
this.name = name;
}
get方法发定义格式是:
public 数据类型 setXxx(数据类型 名称) {
this.名称 = 名称;
}
eg: public String setName(String name) {
return name;
}
就不一一列举了。
定义完这个学生类,就可以写主类StudentControlDemo,这个类可以看成由四个方法,分别是
public static void addStudent(ArrayList<Student> array); // 添加学生信息
public static void delStudent(ArrayList<Student> array); //删除学生信息
public static void updStudent(ArrayList<Student> array); //修改学生信息
public static void showAllStudent(ArrayList<Student> array); //查看所有学生信息
首先我们看看主界面:
第一步就是完成这样的一个界面,然后再添加并调用方法即可,下面是实现这个结果的过程:
//先把学生类添加到集合当中
Arraylist<Student> array = new Arraylist<Student> ();
//打印界面
while(true) {
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("请输入你的选择:");
//键盘输入
Scanner sc = new Scanner(System.in);
String num = sc.nextLine();
//分支判断
if (num == 1) {
}else if (num == 2) {
}else if (num == 3) {
}else if (num == 4) {
}else if (num == 5) {
break; //为了跳出while 死循环
}else {
System.out.println("输入错误,请重新输入");
}
}
到这里,这个界面就可以说是完成了,只需再判断num下添加相对应的方法即可。
添加学生信息代码部分:
public static void addStudent(ArrayList<Student> array){
//定义一个学生对象
Student s = new Student();
//键盘录入学生信息
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:")
String name = sc.nextLine();
System.out.println("请输入学生学号:")
String num = sc.nextLine();
System.out.println("请输入学生年龄:")
String age = sc.nextLine();
System.out.println("请输入学生地址:")
String address = sc.nextLine();
//调用Student类的set方法将录入的数据传给Student 的 s 对象
s.setName(name);s.setNum(num);s.setAge(age);s.setAddress(address);
//调用array.add方法将s添加到集合中
array.add(s);
System.out.println("添加成功");
}
删除学生信息代码部分:
public static void delStudent(Arraylist<Student> array) {
//键盘录入一个学号,来进行匹配
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生的学号");
String id = sc.nextLine();
for (int i = 0; i < array.size(); i++) {
//定义一个Student 类 的变量s来接收 array的数据
Student s = array.get(i);
if(id.equals(s.getNum())) {
//调用array的remove方法删除
array.remove(i)
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
}
}
修改学生信息代码部分:
public static void updStudent(ArrayList<Student> array) {
//键盘录入,与要修改学号进行匹配
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改学生的学号:")
String id = sc.nextLine();
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
if (id.equals(s.getNum)) {
System.out.println("请输入姓名:")
String name = sc.nextLine();
System.out.println("请输入姓名:")
String name = sc.nextLine();
System.out.println("请输入姓名:")
String name = sc.nextLine();
System.out.println("请输入姓名:")
String name = sc.nextLine();
s.setName(name);s.setNum(num);
s.setAge(age);s.setAddress(address);
System.out.println("修改成功");
}
}
}
显示所有学生信息代码部分: 注意:输出时用的时print 可以达到不换行的效果
public static void showAllStudent(ArrayList<Student> array) {
System.out.println("姓名 学号 年龄 地址")
for (int i = 0; i < array.size(); i++) {
Student s = array.get(i);
System.out.print(s.getName() + " " + s.getNum() + " "
+s.getAge() + " " +s.get() + "\n");
}
}
下面是所有代码:
Student类:
package com.example01;
import sun.dc.pr.PRError;
public class Student {
private String name;
private String num;
private String age;
private String address;
//构造方法
public Student() {}
public Student(String name,String num,String age,String address) {
this.address =address;
this.age = age;
this.name = name;
this.num = num;
}
//set get 方法
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(String age) {
this.age = age;
}
public String getAge() {
return age;
}
public void setNum(String num) {
this.num =num;
}
public String getNum() {
return num;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
}
StudentControlDemo主类:
package com.example01;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentControlDemo {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<>();
while (true) {
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("请输入你的选择:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num == 1) {
addStudent(array);
}else if (num ==2) {
delStudent(array);
}else if (num == 3) {
updStudent(array);
}else if (num == 4) {
showAllStudent(array);
}else if (num == 5) {
break;
}else {
System.out.println("输入错误请重新输入");
}
}
}
//定义一个方法,用于添加学生信息
public static void addStudent(ArrayList<Student> array){
Student s = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名");
String name = sc.nextLine();
System.out.println("请输入学号");
String num = sc.nextLine();
System.out.println("请输入年龄");
String age = sc.nextLine();
System.out.println("请输入地址");
String address = sc.nextLine();
s.setName(name);s.setNum(num);s.setAge(age);s.setAddress(address);
array.add(s);
System.out.println("添加成功");
}
//定义一个方法,用于删除学生信息
public static void delStudent(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除学生的学号:");
String id = sc.nextLine();
for (int i = 0; i<array.size();i++) {
Student s = array.get(i);
if (id.equals(s.getNum())) {
array.remove(i);
System.out.println("删除成功");
}else {
System.out.println("没有该学号");
}
}
}
//定义一个方法,用于修改学生信息
public static void updStudent(ArrayList<Student> array){
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生的学号:");
String id = sc.nextLine();
for (int i = 0; i<array.size();i++) {
Student s = array.get(i);
if (id.equals(s.getNum())) {
System.out.println("请输入姓名:");
String name = sc.nextLine();
System.out.println("请输入学号:");
String num = sc.nextLine();
System.out.println("请输入年龄:");
String age = sc.nextLine();
System.out.println("请输入地址:");
String address = sc.nextLine();
s.setName(name);s.setNum(num);s.setAge(age);s.setAddress(address);
System.out.println("修改成功");
}
}
}
//定义一个方法,用于查看所有学生信息
public static void showAllStudent(ArrayList<Student> array){
System.out.println("姓名 学号 年龄 地址");
for (int i = 0; i<array.size();i++) {
Student s = array.get(i);
System.out.print(s.getName() + " " + s.getNum()+ " " +s.getAge()+ " " +s.getAddress()+"\n");
}
}
}
再次强调一下:我也是个小趴菜,如果有误导处,勿喷。