作为一个Java学习的小白,这几天跟着黑马教程做了一个入门的Java学生管
理系统,非常适合入门,贴出来供大家交流,如果有错误,欢迎指正!
结构的话也是非常的简单,一个是学生类,另一个就是学生管理类,使用的
是ArrayList对学生信息进行存储,能够实现增加学生,删除学生,修改学
生,以及查询所有学生,修改和删除功能,输入学号,会进行判断,如果没
有此学号则出现对应提醒!
// 学生类
package com.itheima;
public class Student {
private String sid;
private String name;
private String age;
private String adress;
public Student(){
}
public Student(String sid,String name,String age,String adress){
this.sid = sid;
this.name = name;
this.age = age;
this.adress = adress;
}
public void setSid(String sid){
this.sid = sid;
}
public String getSid(){
return sid;
}
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 setAdress(String adress){
this.adress = adress;
}
public String getAdress(){
return adress;
}
}
接下来是学生管理类,对增删改查四个方法进行调用,还有一个判断学号是
否被使用的方法:
// 学生管理类
package com.itheima;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
ArrayList<Student> arr = new ArrayList<>();
Student s1 = new Student("0001","刘正风","18","宿州");
Student s2 = new Student("0002","刘清风","17","华北");
Student s3 = new Student("0003","刘春风","19","云南");
arr.add(s1);
arr.add(s2);
arr.add(s3);
// System.out.println(s1.getSid()+s1.getName()+s1.getAge()+s1.getAdress());
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 退出!");
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的选择:");
int choice = sc.nextInt();
switch (choice){
case 1:
addStudent(arr);
break;
case 2:
deleteStudent(arr);
break;
case 3:
updateStudent(arr);
break;
case 4:
showStudent(arr);
break;
case 5:
System.out.println("5 成功退出!");
System.exit(0);
break;
default:
System.out.println("输入错误,请重新输入!");
}
}
}
//增加学生
public static void addStudent(ArrayList<Student> arr){
Student s1 = new Student();
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入学生学号:");
String id = sc.nextLine();
s1.setSid(id);
if (isUse(arr,id)){
System.out.println("该学号已经存在!请重新输入");
}else{
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
s1.setName(name);
System.out.println("请输入学生年龄:");
String age = sc.nextLine();
s1.setAge(age);
System.out.println("请输入学生地址:");
String adress = sc.nextLine();
s1.setAdress(adress);
arr.add(s1);
System.out.println("学生添加成功!");
}
//展示所有学生
public static void showStudent(ArrayList<Student> arr){
//\t就是tab键
if (arr.size()==0){
System.out.println("无信息,请插入信息后再查询!");
}else {
System.out.println("学号\t姓名\t年龄\t住址");
for (int i=0;i<arr.size();i++){
System.out.print(arr.get(i).getSid()+"\t");
System.out.print(arr.get(i).getName()+"\t");
System.out.print(arr.get(i).getAge()+"岁\t");
System.out.println(arr.get(i).getAdress()+"\t");
}
}
}
//删除学生
public static void deleteStudent(ArrayList<Student> arr){
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要删除的学号:");
String num = sc.nextLine();
int flag = 1;
for (int i=0;i<arr.size();i++){
if (arr.get(i).getSid().equals(num)){
arr.remove(i);
System.out.println("删除成功!");
flag = 0;//找到
}
}
if (flag == 1){
System.out.println("未查询到对应学生!");
}
}
//修改学生信息
public static void updateStudent(ArrayList<Student> arr){
Scanner sc = new Scanner(System.in);
int flag = 1;
System.out.println("请输入学生学号:");
String s = sc.nextLine();
for(int i=0;i< arr.size();i++){
if (arr.get(i).getSid().equals(s)){
flag = 0;//找到
System.out.println("学号\t姓名\t\t年龄\t\t住址");
System.out.print(arr.get(i).getSid()+"\t");
System.out.print(arr.get(i).getName()+"\t");
System.out.print(arr.get(i).getAge()+"岁\t");
System.out.println(arr.get(i).getAdress()+"\t");
//arr.remove(i);
while (true){
System.out.println("请输入学生学号:");
String num = sc.nextLine();
if (isUse(arr,num )){
System.out.println("该学号已经存在!请重新输入");
}else{
arr.get(i).setSid(num);
break;
}
}
System.out.println("请输入学生姓名:");
arr.get(i).setName(sc.nextLine());
System.out.println("请输入学生年龄:");
arr.get(i).setAge(sc.nextLine());
System.out.println("请输入学生地址:");
arr.get(i).setAdress(sc.nextLine());
System.out.println("学生信息修改成功!");
}
}
if (flag == 1){
System.out.println("未查询到对应学生!");
}
}
//判断学号是否存在,返回值true or false,形参 arr,sid
public static boolean isUse(ArrayList<Student> arr,String sid){
for(int i=0;i<arr.size();i++){
//遍历,是否存在,则为true
if (arr.get(i).getSid().equals(sid)){
return true;
}
}
//便利一遍没有,则置为false
return false;
}
}
以上,欢迎大家交流!