JVA模拟学生管理系统

要求:2。完成学生班级类
要求实现学生类
属性:姓名,性别,年龄,成绩
实现方法:toString

班级类:
属性:学生类的引用数据数组
实现方法:通过,姓名查找学生,
 添加学生  要求检索姓名
 删除学生
 通过学生成绩和年龄排序

         通过学生姓名修改学生的信息



class Student {

int age;
int grade;
String sex;
String name;

public Student(int age, int grade, String sex, String name) {

this.age = age;
this.grade = grade;
this.sex = sex;
this.name = name;

}

@Override
public String toString() {

return "年龄 : " + age + " 成绩  : " + grade + " 性别 :" + sex + " 姓名 : " + name;

}

}


class StudentClass{

String nam;

char x = 'A';


Scanner sc = new Scanner(System.in);

Student[] s = new Student[10];
static int count = 4; 







public StudentClass(String nam) {

this.nam = nam;

s[0] = new Student(23, 45, "男", "张三");
s[1] = new Student(22, 67, "女", "小黄");
s[2] = new Student(25, 56, "男", "李四");
s[3] = new Student(15, 89, "女", "大毛");

}


public void findStudent(String name) {

int index = -1;

for(int i = 0;i < count;i++) {

if(s[i].name.equals(name)) {

index = i;

}

}

if(-1 != index) {

System.out.println("查找的学生信息为\n" + s[index]);

} else {

System.out.println("你查询的学生信息不存在");

}




}


public void addStudent() {



String strSex;


System.out.println("请输入学生姓名");
String strName = new Scanner(System.in).nextLine();

for(int i = 0;i < count;i++){

if(s[i].name.equals(strName)) {

strName += x;
x++;

System.out.println("有重名现象,为作区分将该名字设置为" + strName);

}

}

System.out.println("若将性别设置为‘男’请输入0,设置为‘女’请输入1");

int n = sc.nextInt();

if(n == 0) {

strSex = "男";

} else if(n == 1) {

strSex = "女";

} else {

System.out.println("你输入的信息有误,系统默认为男");
strSex = "男";

}


System.out.println("请输入学生年龄");

int age = sc.nextInt();
if(age < 0 || age > 100) {

System.out.println("你输入的信息有误,系统默认年龄23");
age = 23;
}


System.out.println("请输入学生成绩");
int grade = sc.nextInt();
if(grade < 0 || grade > 100) {

System.out.println("输入成绩信息有误,默认为0");
grade = 0;

}

s[count] = new Student(age, grade, strSex, strName);

count++;
System.out.println("学生添加成功");

}

public void delStudent(String name) {

int index = -1;

for(int i = 0;i < count;i++) {

if(s[i].name.equals(name)) {

index = i;

}

}

if(index != -1) {

for(int i = index ;i < count - 1;i++) {

s[i] = s[i + 1];

}

s[count] = null;
count--;

}

System.out.println("删除成功");


}
// 通过学生成绩和年龄排序
public void sortByGrade(){


for(int i = 0;i < count - 1;i++) {

int index = i;

for(int j = index + 1;j < count;j++) {

if(s[index].grade < s[j].grade) {

index = j;

}

}

if(index != i) {

Student temp = s[index];
s[index] = s[i];
s[i] = temp;

}

}

System.out.println("排序完成");

}


public void sortByage(){


for(int i = 0;i < count - 1;i++) {

int index = i;

for(int j = index + 1;j < count;j++) {

if(s[index].age < s[j].age) {

index = j;

}

}

if(index != i) {

Student temp = s[index];
s[index] = s[i];
s[i] = temp;

}

}

System.out.println("排序完成");

}


public void modifyInformationByName(String name) {

int index = -1;

for(int i = 0;i < count;i++) {

if(s[i].name.equals(name)) {

index = i;

}

}

if(index != -1) {

System.out.println(s[index] + "\n" + "请更改学生信息");
System.out.println("是否修改年龄,若修改请直接输入修改后的年龄,若不用修改请输入小于等于0的数");

int n = sc.nextInt();

if(n > 0) {

s[index].age = n;

}

System.out.println("是否修改成绩,若修改请直接输入修改后的成绩,若不用修改请输入小于0的数");

n = sc.nextInt();

if(n >= 0) {

s[index].grade = n;

}

System.out.println("若将性别设置为‘男’请输入0,设置为‘女’请输入1");

n = sc.nextInt();

if(n == 0) {

s[index].sex = "男";

} else if(n == 1) {

s[index].sex = "女";

} else {

System.out.println("你输入的信息有误");

}


System.out.println("修改后的学生信息如下 \n" + s[index] );
} else {

System.out.println("该班级没有该学生");

}

System.out.println("学生信息修改成功");


}


public void show() {

System.out.println(nam );

for(int i = 0;i < count;i++) {

System.out.println(s[i]);

}

}

}


public class Demo2 {


public static void main(String[] args) {



int flag = 0;

Scanner sc = new Scanner(System.in);

StudentClass c = new StudentClass("~~~~XXX班级学生名单~~~~");

menu();

while(flag == 0) {

int num = sc.nextInt();

switch (num) {

case 1 :
System.out.println("请输入学生姓名");
String str = new Scanner(System.in).nextLine();
c.findStudent(str);
break;
case 2 :
c.addStudent();
break;
case 3 :
System.out.println("请输入要删除学生的姓名");
str = new Scanner(System.in).nextLine();
c.delStudent(str);
break;
case 4 :
System.out.println("请输入要修改学生信息的姓名");
str = new Scanner(System.in).nextLine();
c.modifyInformationByName(str);
break;
case 5 :
System.out.println("学生按成绩降序排列");
c.sortByGrade();
break;
case 6 :
System.out.println("学生按年龄降序排列");
c.sortByage();
break;
case 7 :
c.show();
break;
case 8 :
menu();
break;
case 0 :
flag = 1;
System.out.println("退出成功");
break;
default :
System.out.println("输入信息有误 \n");
break;


}

}


}

public static void menu() {

System.out.println("欢迎使用该教务系统\n");

System.out.println("查找学生请按:1");
System.out.println("添加学生请按:2");
System.out.println("删除学生请按:3");
System.out.println("修改学生信息请按:4");
System.out.println("通过学生成绩排序请按:5");
System.out.println("通过学生年龄排序请按:6");
System.out.println("展示班级学生请按:7");
System.out.println("菜单展示请按:8");
System.out.println("退出程序请按:0");

}


}




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值