很久没有用JAVA写代码,今天利用写一个学生管理系统回顾了一下,仅仅实现简单的增删查改。
一共分为两个Class,一个是学生类Student,一个是管理系统类Student_ManageMent_System.
Student.java
package student_manager_system;
public class Student {
private String num;
private String name;
private String age;
private String city;
public Student() {
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
Student_Management_System.java
package student_manager_system;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagerSystem {
public static void main(String[] args) {
Scanner temp = new Scanner(System.in);
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 退出系统");
//输入选项
String choice = temp.nextLine();
//判断
switch (choice) {
case "1":
query(array);
break;
case "2":
add(array);
break;
case "3":
modify(array);
break;
case "4":
delete(array);
break;
case "5":
System.out.println("感谢您的使用,再见!");
System.exit(0);
default:
System.out.println("您的输入有误,请重新选择!");
}
}
}
private static void query(ArrayList<Student> array){
if(array.size() == 0){
System.out.println("暂时未存储任何学生信息,请重新选择。");
return;
}
System.out.println("学号\t\t姓名\t年龄\t城市");
for(int i=0;i<array.size();i++){
Student s = array.get(i);
System.out.println(s.getNum()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getCity());
}
}
private static void add(ArrayList<Student> array){
Scanner temp = new Scanner(System.in);
String num;
while(true){
System.out.println("请输入新同学学号:");
num = temp.nextLine();
//判断是否重复学号
boolean flag = false;//默认未重复
for(int i=0;i<array.size();i++){
Student s = array.get(i);
if(s.getNum().equals(num)){
System.out.println("该学号已经存在,请重新输入!");
flag = true;
break;
}
}
if(!flag){
break;
}
}
System.out.println("请输入新同学姓名:");
String name = temp.nextLine();
System.out.println("请输入新同学年龄:");
String age = temp.nextLine();
System.out.println("请输入新同学所在城市:");
String city = temp.nextLine();
Student s = new Student();
s.setNum(num);
s.setName(name);
s.setAge(age);
s.setCity(city);
array.add(s);
System.out.println("添加学生信息成功!");
}
private static void modify(ArrayList<Student> array){
Scanner temp = new Scanner(System.in);
int index = -1;//查找标志
System.out.println("请输入需要修正的学生学号:");
String num = temp.nextLine();
for(int i=0;i<array.size();i++){
Student s = array.get(i);
if(s.getNum().equals(num)){
index = i;
break;
}
}
if(index == -1){//未找到学生直接返回
System.out.println("未找到相应学号所对应学生!");
return;
}else{
System.out.println("请输入需要更改的姓名:");
String name = temp.nextLine();
System.out.println("请输入需要更改的年龄:");
String age = temp.nextLine();
System.out.println("请输入需要更改的所在城市:");
String city = temp.nextLine();
Student s = array.get(index);
s.setName(name);
s.setAge(age);
s.setCity(city);
System.out.println("学生信息更新成功!");
}
}
private static void delete(ArrayList<Student> array){
Scanner temp = new Scanner(System.in);
System.out.println("请输入需要删除的学生学号:");
String num = temp.nextLine();
for(int i=0;i<array.size();i++){
Student s = array.get(i);
if(s.getNum().equals(num)){
System.out.println("请确认删除信息(Y/N):");
System.out.println("学号\t\t姓名\t年龄\t城市");
System.out.println(s.getNum()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getCity());
String confirm = temp.nextLine();
//判断确认删除
if(confirm.equals("y") || confirm.equals("Y")){
if(array.remove(s)){
System.out.println("删除成功!");
return;
}
}else{
System.out.println("已取消删除!");
return;
}
}
}
System.out.println("未找到所对应学生学号,请确认学号信息是否有误!");
}
}
格式需要控制一下,因为有中英文长度差异。
其实修改数据还可以细分为修改特定项,比如年龄姓名。