学生信息管理系统改版
javaDevelopPro.java
public class javaDevelopPro {
public static void main(String[] args) {
ArrayList<User> list = new ArrayList<>();
Scanner sc1 = new Scanner(System.in);
Loop:while(true) {
System.out.println("欢迎来到学生管理系统");
System.out.println("请选择操作1登录 2注册 3忘记密码");
switch (sc1.nextInt()) {
case 1:
if(list.size() > 0) {
System.out.println("请输入用户名:");
String username = sc1.next();
System.out.println("请输入密码:");
String password = sc1.next();
if (login(list, username, password)) {
break Loop;
}else{
System.out.println("登录失败,请检查账号或密码是否正确!");
}
}else{
System.out.println("不存在用户,请先注册!");
}
break;
case 2:
list.add(addUser(list));
break;
case 3:
System.out.println("请输入要修改的用户名");
String name = sc1.next();
if(forgetUser(list,name)){
System.out.println("修改密码成功!请重新登录");
break;
}else{
System.out.println("修改失败!");
}
default:
System.out.println("输入错误!");
break;
}
}
ArrayList<Student> studentList = new ArrayList<>();
do{
System.out.printf("-------------欢迎来到QC学生管理系统----------------\n" +
"1:添加学生\n" +
"2:删除学生\n" +
"3:修改学生\n" +
"4:查询学生\n" +
"5:退出\n" +
"请输入您的选择:");
}while(mainLoop(studentList,sc1.nextInt()));
}
public static boolean mainLoop(ArrayList<Student> list,int choose){
Scanner sc2 = new Scanner(System.in);
switch(choose){
case 1:
list.add(addStudent(list));
if(list.get(list.size() - 1) == null){
list.remove(list.size() - 1);
}
break;
case 2:
System.out.println("请输入需要删除的学生id:");
if(removeStudent(list,sc2.nextInt())){
System.out.println("已经成功删除该id对应的学生");
break;
}else{
System.out.println("删除失败,id不存在!");
break;
}
case 3:
System.out.println("请输入需要修改的id:");
if(changeStudent(list,sc2.nextInt())){
System.out.println("修改成功");
break;
}else{
System.out.println("修改失败,id不存在!");
break;
}
case 4:
if(list.size() > 0) {
System.out.printf("ID\t\t姓名\t年龄\t家庭住址\n");
for (int i = 0; i < list.size(); i++) {
System.out.printf("%d\t\t%s\t\t%d\t\t%s\n", list.get(i).getId(), list.get(i).getName(), list.get(i).getAge(), list.get(i).getLocation());
}
}else{
System.out.println("你还未录入信息,请录入后重试");
}
break;
case 5:
return false;
default:
System.out.println("命令不存在,请重试!");
break;
}
return true;
}
public static Student addStudent(ArrayList<Student> list){
Scanner sc3 = new Scanner(System.in);
Student student = new Student();
System.out.println("请输入id:");
int id = sc3.nextInt();
if(checkId(list,id) == -1) {
student.setId(id);
System.out.println("请输入姓名:");
student.setName(sc3.next());
System.out.println("请输入年龄:");
student.setAge(sc3.nextInt());
System.out.println("请输入家庭住址:");
student.setLocation(sc3.next());
return student;
}else{
System.out.println("该ID已存在!");
return null;
}
}
public static User addUser(ArrayList<User> list){
Scanner sc3 = new Scanner(System.in);
User user = new User();
System.out.println("请输入用户名:");
String name = sc3.next();
if(checkUser(list,name) == -1) {
user.setUsername(name);
set:while(true) {
System.out.println("请输入密码:");
user.setPassword(sc3.next());
System.out.println("请再次确认密码:");
String password = sc3.next();
if (password.equals(user.getPassword())) {
break set;
}
System.out.println("两次密码不相同,请重新输入!");
}
System.out.println("请输入身份证号码:");
user.setIdNumber(sc3.next());
System.out.println("请输入手机号码:");
user.setPhoneNumber(sc3.next());
return user;
}else{
System.out.println("该ID已存在!");
return null;
}
}
public static boolean removeStudent(ArrayList<Student> list,int id){
int index = checkId(list,id);
if(index >= 0){
list.remove(index);
return true;
}
return false;
}
public static boolean changeStudent(ArrayList<Student> list,int id){
int index = checkId(list,id);
if(index == -1){
return false;
}else {
Scanner sc3 = new Scanner(System.in);
do {
System.out.println("请输入修改后的id:");
int changeID = sc3.nextInt();
if(checkId(list,changeID) == -1){
list.get(index).setId(changeID);
break;
}else{
System.out.println("这个id已经存在,请更换id后重试!");
}
}while(true);
System.out.println("请输入修改后的姓名:");
list.get(index).setName(sc3.next());
System.out.println("请输入修改后的年龄:");
list.get(index).setAge(sc3.nextInt());
System.out.println("请输入修改后的家庭住址:");
list.get(index).setLocation(sc3.next());
return true;
}
}
public static int checkId(ArrayList<Student> list, int id){
for (int i = 0; i < list.size(); i++) {
if(list.get(i).getId() == id){
return i;
}
}
return -1;
}
public static int checkUser(ArrayList<User> list, String name){
for (int i = 0; i < list.size(); i++) {
if(list.get(i) != null) {
if (list.get(i).getUsername().equals(name)) {
return i;
}
}else{
return -1;
}
}
return -1;
}
public static boolean login(ArrayList<User> list,String username,String password){
if(checkUser(list,username) >= 0) {
if (list.get(checkUser(list, username)).getPassword().equals(password)) {
return true;
}
}
return false;
}
public static boolean forgetUser(ArrayList<User> list,String name){
int index = checkUser(list,name);
if (index >= 0) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入手机号:");
if(list.get(index).getPhoneNumber().equals(scanner.next())){
System.out.println("请输入身份证号码:");
if(list.get(index).getIdNumber().equals(scanner.next())){
System.out.println("验证成功,请输入新的密码:");
list.get(index).setPassword(scanner.next());
return true;
}else{
System.out.println("身份证号码验证错误!");
return false;
}
}else{
System.out.println("手机号错误!");
return false;
}
}else{
System.out.println("账户不存在!");
return false;
}
}
}
Student.java
public class Student {
private int id;
private String name;
private int age;
private String location;
public Student(int id, String name, int age, String location) {
this.id = id;
this.name = name;
this.age = age;
this.location = location;
}
public Student() {
}
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 getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
User.java
public class User {
private String username;
private String password;
private String idNumber;
private String phoneNumber;
public User(String username, String password, String idNumber, String phoneNumber) {
this.username = username;
this.password = password;
this.idNumber = idNumber;
this.phoneNumber = phoneNumber;
}
public User() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getIdNumber() {
return idNumber;
}
public void setIdNumber(String idNumber) {
this.idNumber = idNumber;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
}