⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 studentmanagment.java

📁 学生管理系统学生管理系统学生管理系统学生管理系统
💻 JAVA
字号:
package day04;
import java.util.Scanner;
public class StudentManagment {
	public static void main(String[] args) {
		int[][] scores={//六个学生,五门课程的成绩
				{85,93,64,77,63},
				{91,88,67,78,90},
				{75,88,89,91,58},
				{82,88,67,79,91},
				{82,81,77,82,88},
				{71,81,76,69,91}};
		
		String[] courses={"corejava","unix","jdbc","jsp","ejb"};
		String[] students={"zhangsan","lisi","wangwu","zhaoliu","qianqi","liuba"};
		
		Scanner sca=new Scanner(System.in);
		while(true){
			System.out.println("请输入查询命令:");
			String str=sca.next();
			if(str.equals("AVGCOU")){
				String cou=sca.next();
				avgCou(scores,courses,cou);
			}else if(str.equals("AVGSTU")){
				String stu=sca.next();
				avgStu(scores,students,stu);
			}else if(str.equals("SORT")){
				String cou=sca.next();
				sort(scores,courses,students,cou);
			}else if(str.equals("GET")){
				String stu=sca.next();
				String cou=sca.next();
				get(scores,courses,students,stu,cou);
			}else if(str.equals("EXIT")){
				break;
			}
		}
	}//main() end!
	
	public static void avgCou(int[][] scores,String[] courses,String cou){
		//1,在courses数组中搜索cou出现的下标,如果courses中不包含cou
		//   则输出错误信息,并返回。
		//2,跟据上一步找到的下标去查找scores中该列,把该列上的所有数据
		//      累加求和。
		//3,将和值除以scores数组的行数得到平均值,并将课程名和平均值输出。
		int index=-1;
		for(int i=0;i<courses.length;i++){
			if(courses[i].equals(cou)){
				index=i;
				break;
			}
		}
		if(index==-1){
			System.out.println("课程名不存在,请重新输入:");
			return;
		}
		
		double sum=0.0;
		for(int i=0;i<scores.length;i++){
			sum+=scores[i][index];
		}
		
		double avg=sum/scores.length;
		System.out.println(cou+"课程的平均分是:"+avg);

	}
	
	public static void avgStu(int[][] scores,String[] students,String stu){
         //1,在students数组中搜索stu出现的下标,如果studnets中不包含stu
		//   则输出错误信息,并返回。
		//2,跟据上一步找到的下标去查找scores中该行,把该行上的所有数据
		//      累加求和。
		//3,将和值除以scores数组的列数得到平均值,并将学生名和平均值输出。
		int index=-1;
		for(int i=0;i<students.length;i++){
			if(students[i].equals(stu)){
				index=i;
				break;
			}
		}
		
		if(index==-1){
			System.out.println("没有这个学生,请重新输入!");
			return;
		}
		
		double sum=0.0;
		for(int i=0;i<scores[index].length;i++){
			sum+=scores[index][i];
		}
		
		double avg=sum/scores[index].length;
		System.out.println(stu+"学生的平均分是:"+avg);
	
	}
	
	public static void sort(int[][] scores,String[] courses,String[] students,String cou){
		//1,创建一个一维int数组,保存cou课程的成绩
		//2,创建一个一维String数组,保存所有学生的姓名。
		//3,对int数组排序,并且同时也同步移动String数组的顺序。
		//4,输出学生名和分数
		int[] cous=new int[scores.length];
		if(cou.equals("sum")){//如果要求总分的排序
			for(int i=0;i<scores.length;i++){//求每个学生的总成绩
				int sum=0;
				for(int j=0;j<scores[i].length;j++){
					sum+=scores[i][j];
				}
				cous[i]=sum;
			}
		}else{//如果要求某一门课程的排序
			int index=-1;
			for(int i=0;i<courses.length;i++){
				if(courses[i].equals(cou)){
					index=i;
					break;
				}
			}
			if(index==-1){
				System.out.println("课程名不存在,请重新输入:");
				return;
			}
			
			for(int i=0;i<scores.length;i++){
				cous[i]=scores[i][index];
			}
		}
		
		String[] stus=new String[students.length];
		System.arraycopy(students, 0, stus, 0, students.length);
		
		for(int i=0;i<cous.length-1;i++){
			for(int j=i+1;j<cous.length;j++){
				if(cous[i]<cous[j]){
					int temp=cous[i];
					cous[i]=cous[j];
					cous[j]=temp;
					String stemp=stus[i];
					stus[i]=stus[j];
					stus[j]=stemp;
				}
			}
		}
		
		int grand=1;
		for(int i=0;i<cous.length;i++){
			if(i>0 && cous[i]!=cous[i-1]){
				grand=i+1;
			}
			System.out.println("第"+grand+"名:"+stus[i]+":"+cous[i]);
		}
	}
	
	public static void get(int[][] scores,String[] courses,String[] students,String stu,String cou){
		int stuindex=-1;
		for(int i=0;i<students.length;i++){
			if(students[i].equals(stu)){
				stuindex=i;
				break;
			}
		}
		
		if(stuindex==-1){
			System.out.println("没有这个学生,请重新输入!");
			return;
		}
		
		if(cou.equals("sum")){
			int sum=0;
			for(int i=0;i<scores[stuindex].length;i++){
				sum+=scores[stuindex][i];
			}
			System.out.println(stu+"学生的总分是:" +sum);
		}else{
			int couindex=-1;
			for(int i=0;i<courses.length;i++){
				if(courses[i].equals(cou)){
					couindex=i;
					break;
				}
			}
			if(couindex==-1){
				System.out.println("课程名不存在,请重新输入:");
				return;
			}
			System.out.println(stu+"学生的"+cou+"课程的成绩是:"+scores[stuindex][couindex]);
		}
	}
}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -