学完了javase的集合(这里是ArrayList)可以找个小项目练手
下面为大家提供一个利用java控制台实现学生管理系统供大家参考
一、学生类
public class Student {
private int sid;
private String name;
private int age;
private String address;
public Student(int sid, String name, int age, String address) {
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
public Student() {
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
二、学生管理类
public class StudentManager {
public static void main(String[] args) {
ArrayList<Student> arrayList = 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 in = new Scanner(System.in);
int num = in.nextInt();
switch (num) {
case 1:
System.out.println("添加学生");
addStudent(arrayList);
break;
case 2:
deleteStudent(arrayList);
break;
case 3:
updateStudent(arrayList);
break;
case 4:
showStudent(arrayList);
break;
case 5:
//正常虚拟机退出
System.out.println("退出");
System.exit(0);
}
}
}
//添加学生
public static void addStudent(ArrayList<Student>arrayList){
Scanner in = new Scanner(System.in);
int sid = 0;
while (true) {
System.out.println("请输入学号");
sid = in.nextInt();
boolean flag = isUsed(arrayList, sid);
if (flag == true) {
System.out.println("你的学号已经被占用,请重新输入");
} else {
break;
}
}
System.out.println("请输入姓名");
String name = in.next();
System.out.println("请输入年龄");
int age = in.nextInt();
System.out.println("请输入居住地");
String address = in.next();
Student student = new Student();
student.setSid(sid);
student.setName(name);
student.setAge(age);
student.setAddress(address);
arrayList.add(student);
System.out.println("添加学生成功");
}
//判断学号有没有被使用
public static boolean isUsed(ArrayList<Student>arrayList,int sid){
boolean flag = false;
for(int i = 0 ; i < arrayList.size() ; i++){
Student student = arrayList.get(i);
if(student.getSid()==sid){
flag = true;
break;
}
}
return flag;
}
//查看学生
public static void showStudent(ArrayList<Student>arrayList){
if(arrayList.size()==0){
System.out.println("无信息,请添加");
return;
}
System.out.println("学号\t姓名\t年龄\t\t居住地");
for(Student student :arrayList){
System.out.println(student.getSid()+"\t"+student.getName()+"\t"+student.getAge()+"岁\t\t"+student.getAddress());
}
}
//删除学生
public static void deleteStudent(ArrayList<Student>arrayList){
Scanner in = new Scanner(System.in);
System.out.println("请输入你想要删除学生的学号");
int sid = in.nextInt();
int index = -1;
for(int i = 0 ; i < arrayList.size() ; i++){
Student student = arrayList.get(i);
if(student.getSid()==sid){
index = i;
break;
}
}
if(index == -1){
System.out.println("该学生学号不存在,请重新输入");
}else {
arrayList.remove(index);
System.out.println("删除学生成功");
}
}
//修改学生
public static void updateStudent(ArrayList<Student>arrayList){
if(arrayList.size()==0){
System.out.println("无信息,请先添加");
return;
}
Scanner in = new Scanner(System.in);
int sid = 0;
while (true) {
System.out.println("请输入你想要修改学生的学号");
sid = in.nextInt();
boolean flag = isExist(arrayList, sid);
if (flag == false) {
System.out.println("你的学号不存在,请重新输入");
} else {
break;
}
}
System.out.println("请输入新姓名");
String name = in.next();
System.out.println("请输入新年龄");
int age = in.nextInt();
System.out.println("请输入新居住地");
String address = in.next();
Student student = new Student();
student.setSid(sid);
student.setName(name);
student.setAge(age);
student.setAddress(address);
for(int i = 0 ; i < arrayList.size() ; i++){
Student s = arrayList.get(i);
if(s.getSid()==sid){
arrayList.set(i,student);
break;
}
}
System.out.println("修改学生成功");
}
//修改判断学号是否存在
public static boolean isExist(ArrayList<Student>arrayList,int sid){
boolean flag = false;
for(int i = 0 ; i < arrayList.size() ; i++){
Student student = arrayList.get(i);
if(student.getSid()==sid){
flag = true;
break;
}
}
return flag;
}
}