package test;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* 实现学生管理系统,定义学生类,属性有姓名,年龄,成绩,要求属性私有化,提供无参带参
* 构造
* 请用户输入用户名和密码,有三次机会,输入正确进入学生系统,输入错误提示账号或者密
* 码错误,提示用户重新输入,如果三次机会用完,则提示:输入次数过多,并退出程序。
* (系统默认用户名为:admin密码为:123456)
* 密码正确身份登录成功后,弹出菜单界面请用户选择功能编号
* 输入1:增加一个学生信息
* 输入2:用户输入姓名,删除一条学生信息
* 输入3:用户输入姓名,修改学生的成绩
* 输入4:用户输入姓名,显示出用户的信息
* 输入5:显示所有用户的信息
* 输入0:退出程序
* 输入其他:该功能不存在
* @author wf
*/
public class StudentTest {
List<MyStudent> list = new ArrayList<>();
public static void main(String[] args) {
StudentTest studentTest = new StudentTest();
int times = 0;
while (true) {
if (times > 2) {
System.out.println("输入次数过多,并退出程序");
break;
}
System.out.print("请用户输入用户名:");
Scanner scanner = new Scanner(System.in);
String userName = scanner.next();
System.out.print("请用户输入密码:");
String password = scanner.next();
if ("admin".equals(userName) && "123456".equals(password)) {
while (true) {
System.out.println("输入1:增加一个学生信息");
System.out.println("输入2:用户输入姓名,删除一条学生信息");
System.out.println("输入3:用户输入姓名,修改学生的成绩");
System.out.println("输入4:用户输入姓名,显示出用户的信息");
System.out.println("输入5:显示所有用户的信息");
System.out.println("输入0:退出程序");
int number = scanner.nextInt();
switch (number) {
case 0:
System.exit(0);
break;
case 1:
System.out.println("请输入学生名称:");
String name = scanner.next();
System.out.println("请输入学生年龄:");
String age = scanner.next();
System.out.println("请输入学生分数:");
BigDecimal score = scanner.nextBigDecimal();
MyStudent myStudent = new MyStudent(name,Integer.parseInt(age),score);
studentTest.list.add(myStudent);
studentTest.printStudent();
break;
case 2:
System.out.println("请输入学生名称:");
String deleteName = scanner.next();
if (studentTest.list != null && studentTest.list.size() > 0) {
for (MyStudent myStudent1 : studentTest.list) {
String name1 = myStudent1.getName();
if (name1 != null && name1 != "") {
if (name1.equals(deleteName)) {
studentTest.list.remove(myStudent1);
}
}
}
}
studentTest.printStudent();
break;
case 3:
System.out.println("请输入学生名称:");
String updateScoreByName = scanner.next();
if (studentTest.list != null && studentTest.list.size() > 0) {
for (MyStudent myStudent1 : studentTest.list) {
String name1 = myStudent1.getName();
if (name1 != null && name1 != "") {
if (name1.equals(updateScoreByName)) {
System.out.println("请输入学生分数:");
String updatedScore = scanner.next();
myStudent1.setScore(new BigDecimal(updatedScore));
}
}
}
}
studentTest.printStudent();
break;
case 4:
System.out.println("请输入学生名称:");
String showStudentByName = scanner.next();
if (studentTest.list != null && studentTest.list.size() > 0) {
for (MyStudent myStudent1 : studentTest.list) {
String name1 = myStudent1.getName();
if (name1 != null && name1 != "") {
if (name1.equals(showStudentByName)) {
System.out.println(myStudent1);
}else {
System.out.println("查无此人");
}
}
}
}
break;
case 5:
studentTest.printStudent();
break;
default:
System.out.println("该功能不存在!");
}
}
}else {
System.out.println("账号密码错误,剩余次数:" + (2 - times) + "次!");
times++;
}
}
}
public void printStudent() {
System.out.println("全部学生:");
for (MyStudent myStudent : list) {
System.out.println(myStudent);
}
}
}
class MyStudent {
private String name;
private Integer age;
private BigDecimal score;
public MyStudent(){}
public MyStudent(String name, Integer age, BigDecimal score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public BigDecimal getScore() {
return score;
}
public void setScore(BigDecimal score) {
this.score = score;
}
@Override
public String toString() {
return "MyStudent{" +
"name='" + name + '\'' +
", age=" + age +
", score=" + score +
'}';
}
}
javase实现学生管理系统
于 2023-03-01 15:29:24 首次发布