日期:2014-05-20  浏览次数:20682 次

求助--二维数组!
李五常 张大圆 魏华 王丽丽
Java 90 78 82 87
计算机基础 80 90 78 66
操作系统 88 77 79 70
使用二维数组存储上表的学生成绩,求各科的平均分和各科总平均。



最好写简单点,我是初学者,谢谢!

------解决方案--------------------
我猜你应该是相求各科的平均分和 个人的平均分 :

Java code

public class Test {

    public static String arrName[] = {"李五常", "张大圆", "魏华", "王丽丽"} ;
    public static String arrCourse[] = {"Java", "计算机基础", "操作系统"} ;
    public static int arrScore[][] = {
         {90, 78, 82, 87},
         {80, 90, 78, 66},
         {88, 77, 79, 70}
         } ;
    
    /**
     * 指定人的平均分
     * @param personIdx
     * @param courseIdx
     * @return
     */
    public static double avgPerson(int personIdx){
        int oneLen = arrScore.length ;
        double sum = 0.0 ;
        for (int i = 0; i < oneLen ; i++){
            
            sum += arrScore[i][personIdx] ;
        }
        return sum / oneLen;
        
    }
    
    /**
     * 指定科目的平均分
     * @param personIdx
     * @param courseIdx
     * @return
     */
    public static double avgCourse(int courseIdx){
        
        int oneLen = arrScore.length ;
        double sum = 0.0 ;
        for (int i = 0; i < oneLen ; i++){
            sum += arrScore[courseIdx][i] ;
        }
        return sum / oneLen;
        
    }
    
    /**
     * @param args
     */
    public static void main(String[] args) {

        System.out.println("------各科目平均分------");
        for (int i = 0; i < arrCourse.length; i++){
            System.out.println(arrCourse[i] + " 的平均分:" +avgCourse(i));    
        }
        System.out.println("------个人平均分------");
        for (int i = 0; i < arrName.length; i++){
            System.out.println(arrName[i] + " 的平均分:" +avgPerson(i));    
        }

    }

}