package com.test;
/**
* 管理学生的类
*/
public class StudentAdmin {
static String msg="\t\t编号\t\t姓名\t\t年龄\t\tpython\tjava\tlinux\tsql\t\t总分\t\t平均分";
//功能菜单:
public void menu(){
System.out.println("-----欢迎来到学生成绩管理系统-----");
System.out.println("10:添加学生信息");
System.out.println("11:查询学生信息");
System.out.println("12:根据学生编号更新学生基本信息");
System.out.println("13:根据学生编号删除学生");
System.out.println("14:根据学生编号输入学生各门成绩");
System.out.println("15:根据某门成绩进行排序");
System.out.println("16:根据总分进行排序");
System.out.println("99:退出系统");
System.out.println("----------------------------");
}
//返回数组中元素为空的下标
public int index(Student[] arr){
for(int i=0;i<arr.length;i++){
if(arr[i]==null){
return i;//新学生的编号
}
}
return 999; //学生已满员
}
//打印所有学生的信息
public void print(Student[] arr){
System.out.println(msg);
for(int i=0;i<arr.length;i++){
if(arr[i]!=null){
System.out.println(arr[i]);
}
}
}
//10:添加学生
public void create(String name,int age,Student[] arr){
int index=index(arr); //获取新学生的位置
if(index!=999) { //如果还有空位置,可以添加学生
Student stu = new Student();
stu.setName(name);
stu.setAge(age);
stu.setNumber(index);
arr[index] = stu;
System.out.println("添加学生成功");
this.print(arr);
}else{
System.out.println("班级学生已满,无法再添加学生了");
}
}
//11:查找学生
public void select(int number,Student[] arr){
for(int i=0;i<arr.length;i++){
if(arr[i]!=null){
if(arr[i].getNumber()==number){
System.out.println(msg);
System.out.println(arr[i]);
return;
}
}
}
System.out.println("没有这个编号的学生");
}
//12:根据编号更新学生
public void update(int number,String name,int age,Student[] arr){
for(int i=0;i<arr.length;i++){
if(arr[i]!=null){
if(arr[i].getNumber()==number){
arr[i].setName(name);
arr[i].setAge(age);
System.out.println("更新学生信息成功");
this.print(arr);
return;
}
}
}
System.out.println("没有这个学生");
}
//13:根据编号删除学生
public void delete(int number,Student[] arr){
for(int i=0;i<arr.length;i++){
if(arr[i]!=null){
if(arr[i].getNumber()==number){
arr[i]=null;
System.out.println("删除成功");
this.print(arr);
return;
}
}
}
System.out.println("没有这个编号的学生");
}
//14:根据编号录入成绩
public void input(int number, int python,int java,int linux,int sql,Student[] arr){
for(int i=0;i<arr.length;i++) {
if (arr[i] != null) {
if (arr[i].getNumber() == number) {
arr[number].setPython(python);
arr[number].setJava(java);
arr[number].setLinux(linux);
arr[number].setSql(sql);
arr[number].setSum();
arr[number].setAvg();
System.out.println("录入成绩成功");
this.print(arr);
return;
}
}
}
System.out.println("不存在这个学生");
}
//15:根据某门成绩排序
public void courseSort(int number,Student[] arr){
switch (number) {
case 1:
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] != null && arr[j] != null) {
if (arr[i].getPython() < arr[j].getPython()) {
Student temp = arr[i];//比较某门成绩,交换学生
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
break;
case 2:
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] != null && arr[j] != null) {
if (arr[i].getJava() < arr[j].getJava()) {
Student temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
break;
case 3:
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] != null && arr[j] != null) {
if (arr[i].getLinux() < arr[j].getLinux()) {
Student temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
break;
case 4:
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] != null && arr[j] != null) {
if (arr[i].getSql() < arr[j].getSql()) {
Student temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
break;
}
this.print(arr);
}
//16:根据总分排序
public void sumSort(Student[] arr){
for (int i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] != null && arr[j] != null) {
if (arr[i].getSum() < arr[j].getSum()) {
Student temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
this.print(arr);
}
}