一个年级有m个班,每个班有n个学生,编写java程序用二维数组保存学生成绩,计算学生平均成绩

如题所述

public class ScoreDemo {
public static void main(String[] args) {
int m = 2;//班级个数
int n = 3;//每个班级的人数
int[][] ary = new int[m][n];
inputScore(ary);//输入每个人的分数,保存到数组
printAvg(ary);//打印平均分
}

private static void printAvg(int[][] ary) {
int index = 0;//计算人数
int total = 0;//累加总分
for (int i = 0; i < ary.length; i++) {
int classTotal = 0;//班级总分
for (int j = 0; j < ary[i].length; j++) {
index++;
int score=ary[i][j];
classTotal+=score;
}
total+=classTotal;
System.out.println("---------"+(i+1)+"班考试情况---------");
System.out.println("班级总分"+classTotal+"\t班级人数"+ary[i].length);
System.out.println((i+1)+"班级平均分"+classTotal*1.0/ary[i].length);
}
System.out.println("---------年级考试情况-------");
System.out.println("年级总分"+total+"\t年级人数"+index);
System.out.println("年级平均分:"+total*1.0/index);
}

private static void inputScore(int[][] ary) {
Scanner input = new Scanner(System.in);
for (int i = 0; i < ary.length; i++) {
System.out.println("-------"+"班级" + (i + 1)+"-------");
for (int j = 0; j < ary[i].length; j++) {
System.out.print("第" + (j + 1) + "号的成绩:");
int score = input.nextInt();
ary[i][j] = score;
}
}
}
}

运行测试

-------班级1-------
第1号的成绩:80
第2号的成绩:90
第3号的成绩:100
-------班级2-------
第1号的成绩:100
第2号的成绩:100
第3号的成绩:90
---------1班考试情况---------
班级总分270 班级人数3
1班级平均分90.0
---------2班考试情况---------
班级总分290 班级人数3
2班级平均分96.66666666666667
---------年级考试情况-------
年级总分560 年级人数6
年级平均分:93.33333333333333

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-03
public static int[][] inputScore(){
Scanner s = new Scanner(System.in);
System.err.print("请输入该年级班数:");
int m = s.nextInt();
int scores[][] = new int[m][];
int n = 0;
for(int i=0;i<scores.length;i++){
System.err.print("请输入第"+(i+1)+"班的学生数:");
n = s.nextInt();
scores[i] = new int[n];
for(int j=0;j<n;j++){
System.err.print("第"+(j+1)+"个学生成绩:");
scores[i][j] = s.nextInt();
}
}
System.err.println("输入结束");
return scores;
}
这个是获取输入的分数数组,至于你要的第n班的平均成绩,那就拿数组scores[n-1]统计所有学生成绩之和,再去除scores[n-1].length

第2个回答  2015-12-03
public class Score {

private int[][] mn;

public Score(int[][] mn) {
this.mn = mn;
}

/**
 * 求总分
 * @return
 */
public int sum() {
int sum = 0;
for (int i = 0; i < mn.length; i++) {
for (int j = 0; j < mn[i].length; j++) {
sum += mn[i][j];
}
}
return sum;
}

/**
 * 求平均
 * @return
 */
public int avg() {
int count = 0;
for (int i = 0; i < mn.length; i++) {
count += mn[i].length;
}
return sum()/count;
}

public static void main(String[] args) {
int[][] mn = new int[][]{{1,2,3,4,5},{6,7,8,9,10}};
Score s = new Score(mn);
System.out.println(s.avg());
}

}