java简单学生成绩管理笔记

import java.util.*;
public class Stdu1 {
	public static void main(String[] args) {
		Scanner inScanner = new Scanner(System.in);
		System.out.println("请输入学生人数: ");
		int pernum = inScanner.nextInt(); //学生人数
		System.out.println("请输入课程的数目: ");
		int courcsnum = inScanner.nextInt(); //课程数目
		String[] name = new String[pernum]; //学生名数组
		String[] courcs = new String[courcsnum]; //学生成绩数组
		int[] sum = new int[pernum]; //个人总分
		int[] avg = new int[pernum]; //个人平均分
		//姓名,各科成绩,总分,平均分整个到一起
		String[] str = new String[pernum];
		//定义二维数组
		int[][] number = new int[pernum][courcsnum];
		//输入课程名称,存储课程名
		for (int i = 0; i < courcsnum; i++) {
			System.out.println("请定义第"+(i+1)+"门课程名: ");
			courcs[i] = inScanner.next();
		}
		//输入学生名,学生成绩
		for (int i = 0; i < pernum; i++) {
			int S = 0;
			System.out.println("请输入第"+(i+1)+"位学生名: ");
			name[i] = inScanner.next();//用来存储学生的姓名
			String str11 = "";
			for (int j = 0; j < courcsnum; j++) {
				System.out.println("请输入"+(name[i])+"的"+courcs[j]+"的成绩: ");
				number[i][j] = inScanner.nextInt();//用来存储特定学生的特定成绩
				S += number[i][j];
				str11 += number[i][j] + "\t";
				
			}
			sum[i] = S;
			avg[i] = S/courcsnum;
			//数据拼接到一起
			str[i] = name[i] + "\t" + str11 +sum[i] + "\t" +avg[i];
		}
		
		//冒泡排序
		for (int i = 0; i < pernum-1; i++) {
			for (int j = 0; j < pernum-1; j++) {
				if (sum[j] < sum[j+1]) {
					int t1 = sum[j];    String t2 = str[j];
					sum[j] = sum[j+1];	str[j] = str[j+1];
					sum[j+1] = t1;		str[j+1] = t2;
				}
			}
		}
		
		
		
		/*
		 * 效果输出
		 */
		
		System.out.print("学生");
		//输出科目
		for (int i = 0; i < courcs.length; i++) {
			System.out.print("\t"+courcs[i]);
		}
		//输出总分,平均分
		System.out.print("\t总分\t平均分\t排行榜");
		System.out.println(); //换行
	//姓名,各科成绩,总分,平均分都整合到一起了,这里只要循环出str就可以了
	//换行,因为我们用到了冒泡排序已经是从大到小排序,所有这里排行榜直接是输出就可以了 
		
		System.out.println();
		for (int i = 0; i < str.length; i++) {
			System.out.println(str[i]+"\t第"+(i+1)+"名");
		}
		
	
	
	}
}


<img src="https://img-blog.csdn.net/20140606035747781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzE2MDAyNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值