一道Java编程题,求各位大神,告知我该怎么写

5. 定义一个20*5 的二维数组,用来存储某班级20 位学员的5 门课的成绩;这5 门课 按
存储顺序依次为:core C++,coreJava,Servlet,JSP 和EJB。
1) 循环给二维数组的每一个元素赋0~100 之间的随机整数
2) 要求编写程序求每个学员的总分,将其保留在另外一个一维数组中
3) 要求编写程序求所有学员的某门课程的平均分

分别用了普通的直接main方法和构造方法产生实例来实现,原理是一样的。
package javaexc;
public class Score {
 public static void main(String[] args) {
  // 定义存储分数数组
  int score[][]=new int[20][5];
  //总分
  int sumscore=0;
  //存储总分的一维数组
  int sumscores[]=new int[20];
  //平均分
  int avescore=0;
  
  System.out.print("core C++\t"+"coreJava\t"+"Servlet\t\t"+"JSP\t\t"+"EJB\t\t"+"sumscores");
  System.out.println();
  for(int i=0;i<20;i++){
   for(int j=0;j<5;j++){
    //用双层循环给数组赋值,random是产生0~1之间的小数,不包括0和1,乘100再加1就是1~101,向下取整数,正好是1到100
    score[i][j]=(int) Math.floor(100*Math.random()+1);
    System.out.print(score[i][j]+"\t\t");
    //总分累加,在行数相同时
    sumscore+=score[i][j];
    //把总分赋给存储数组
    sumscores[i]=sumscore;
    //求平均分,就是竖列相同时,累加,这里取的是j=0,c++课程的平均成绩
    if(j==0)
     avescore+=score[i][j];
   }
   System.out.print(sumscores[i]);
   //这里要把sumscore清零,再次进入循环时不会加前一行的分数
   sumscore=0;
   System.out.println();
  }
  System.out.println("平均分:\t"+avescore);
  
 }

 
package javaexc;
public class ScoreTest {
 int score[][]=new int[20][5];
 int sumscore=0;
 int sumscores[]=new int[20];
 int avescore=0;
 //构造方法。
 public ScoreTest(){}
 
 //给二维数组赋值并且打印的方法
 public void printscore(){
  for(int i=0;i<20;i++){
   for(int j=0;j<5;j++){
    score[i][j]=(int) Math.floor(100*Math.random()+1);
    System.out.print(score[i][j]+"\t\t");
   }
   System.out.println();
  }
 }
 
 //求总成绩的方法
 public void Sumscore(){
  System.out.println("总分:");
  for(int i=0;i<20;i++){
   for(int j=0;j<5;j++){
    sumscore+=score[i][j];
    sumscores[i]=sumscore;
   }
   System.out.print(sumscores[i]);
   sumscore=0;
   System.out.println();
  }
 }
 
 //求平均成绩的方法,这里带了参数n,n=0,1,2,3,4分别表示不同课程。
 public void Avescore(int n){
  for(int i=0;i<20;i++){
   for(int j=0;j<5;j++){
    if(j==n)
     avescore+=score[i][j];
   }
  }
  System.out.println("平均分:\t"+avescore);
 }
 
 public static void main(String[] args) {
  // 用构造方法产生实例ST
  ScoreTest ST=new ScoreTest();
  System.out.print("core C++\t"+"coreJava\t"+"Servlet\t\t"+"JSP\t\t"+"EJB");
  System.out.println();
  //ST分别调用赋值,求总成绩,求平均成绩的方法。
  ST.printscore();
  ST.Sumscore();
  ST.Avescore(3);
 }
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-04
要帮你写吗?追问

要的

追答

要收费能接受吗