深夜成人在线,chinese国产一区二区,欧美精品乱码,日韩欧美在线视频免费观看,国产午夜不卡,日韩av影院在线,五月天婷婷国产精品

軟題庫 學習課程
當前位置:信管網 >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內容

閱讀以下說明和Java程序,填充代碼中的空缺,將解答填入答題紙的對應欄內。
【說明】
某學校在學生畢業(yè)時要對其成績進行綜合評定,學生的綜合成績(GPA)由其課程加權平均成績(Wg)與附加分(Ag)構成,即GPA= Wg +Ag。
設一個學生共修了n門課程,則其加權平均成績 (Wg) 定義如下:

其中 ,gradei 、Ci  分別表示該學生第 i 門課程的百分制成績及學分。
學生可以通過參加社會活動或學科競賽獲得附加分(Ag)。學生參加社會活動所得的活動分(Apoints)是直接給出的,而競賽分(Awards)則由下式計算(一個學生最多可參加m項學科競賽):

其中 ,li  和 Si  分別表示學生所參加學科競賽的級別和成績。
對于社會活動和學科競賽都不參加的學生,其附加分按活動分為0計算。
下面的程序實現(xiàn)計算學生綜合成績的功能,每個學生的基本信息由抽象類Student描述,包括學號(stuNo)、姓名(name) 、課程成績學分(grades)  和綜合成績 (GPA)等,參加社會活動的學生由類ActStudent描述,其活動分由Apoints表示,參加學科競賽的學生由類CmpStudent描述,其各項競賽的成績信息由awards表示。
【Java 代碼】
abstract  class  Student  {
protected  String  name;
protected  int  stuNo;
protected double GPA;                      /*綜合成績*/
protected  int [ ] [ ]  grades;               /*各門課程成績和學分*/
//其他信息略
public  Student ( int  stuNo ,String name ,int[ ] [ ]  grades)   {
this. stuNo = stuNo; grades;      this.name  = name;         this.grades    =
grades;
}
(1)       ;
double computeWg( ){
int  totalGrades  =  0 ,totalCredits  =  0;
for  (int i = 0;  i < grades.length; i++) {
totalGrades += grades [i] [0] * grades [i]  [1] ;
totalCredits += grades [i]  [1];
}
return   (double)totalGrades / totalCredits;
}
}

class ActStudent  extends Student  {
private   int  Apoints;
ActStudent  (int stuNo ,String name ,int[] [] grades ,int Apoints){
(2)        ;
this. Apoints = Apoints;
}
public double getGPA( ) {
return  GPA  =      (3)      ;
}
}

class CmpStudent  extends  Student  {
private  int [ ] [ ]  Awards;
CmpStudent   (int  stuNo ,String name ,int[ ] [ ]  grades ,int[ ] [ ]  awards) {
(4)   ;
this.Awards  = awards;
}
public double  getGPA() {
int  totalAwards  =  0;
for  (int  i =  0;  i < awards.length; i++) {
totalAwards  += awards[i]  [0]  * awards[i] [1];
}
return  GPA =     (5)      ;
}
}
public  class  GPASystem   (   //以計算 3 個學生的綜合成績?yōu)榈惯M行測試
public static void main(String[]  args)  {
int  [ ] [ ] g1=  {{80,3} ,{90,2} ,{95,3} ,{85,4} ,(86 ,3}) ,
g2  =  {{60,3} ,{60,2} ,{60,3} ,{60,4} ,(65 ,3}) ,
g3 =  {{80,3} ,{90,2} ,{70,3} ,{65,4} ,(75 ,3});  //課程成績
int  [ ][ ]  e1 =  ((2 ,3) ,{1,2}} ,e2  =  {{1,3}};  //競賽成績
Student  students[ ]  =  {
new ActStudent  (101,"John" ,gl ,3), / /3 為活動分
new  ActStudent   (102 ,"Zhang" ,g2 ,0)   ,
new   CmpStudent     (103,"Li",g3,e2)};
}
//輸出每個學生的綜合成績
for  (int  i = 0;  i < students .length; i++) (
System.out,println(     (6)       );
}
}
}

查看答案

相關試題