參考資料:
GradeBook, GradeBookTest 兩個 class 分別存放在 GradeBook.java, GradeBookTest.java 檔
案中,且位於同一個目錄,下列部分題目必須參考這些程式碼。
1 //GradeBook.java 2 public class GradeBook 3 { 4 private String courseName; 5 private int[] grades; 6
7 public GradeBook( String name, int[] gradesArray ) 8 { 9 courseName = name;10 grades = gradesArray; 11 } 12 public void setCourseName( String name ) 13 { 14 courseName = name;
15 } 16 public String getCourseName() 17 { 18 return courseName;
19 } 20 public void displayMessage() 21 { 22 System.out.printf( "Welcome to the grade book for
%s!
", 23 getCourseName() ); 24 } 25 public void processGrades() 26 { 27 outputGrades(); 28 System.out.printf( "
Class average is %.2f
", getAverage() ); 29 //outputBarChart(); 30 } 31 public double getAverage() 32 { 33 int total = 0; // initialize total
34 for ( int grade : grades ) 35 total += grade; 36 return ( double ) total / grades.length; 37 } 38
39 //public void outputBarChart() 40
41 public void outputGrades() 42 { 43 System.out.println( "The grades are:
" ); 44 for ( int student = 0; student < grades.length; student++ ) 45 System.out.printf( "Student %2d: %3d
", 46 student + 1, grades[ student ] ); 47 } 48 }
1 // GradeBookTest.java 2 public class GradeBookTest 3 { 4 public static void main( String[] args ) 5 { 6
7 int[] gradesArray = { 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 }; 8
9 GradeBook myGradeBook = new GradeBook( 10 "CS101 Introduction to Java Programming", gradesArray ); 11 myGradeBook.displayMessage(); 12 myGradeBook.processGrades(); 13 } 14 }
一、參考 GradeBook.java, GradeBookTest.java 檔案,試問 GradeBook 的建構子(Constructor)
在那裡?作用為何?(10 分)
7 public GradeBook( String name, int[] gradesArray )
15 }
19 }
%s!
", 23 getCourseName() );
Class average is %.2f
", getAverage() );
34 for ( int grade : grades )
39 //public void outputBarChart()
41 public void outputGrades()
" );
",
1 // GradeBookTest.java
7 int[] gradesArray = { 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 };
9 GradeBook myGradeBook = new GradeBook(
一、參考 GradeBook.java, GradeBookTest.java 檔案,試問 GradeBook 的建構子(Constructor)
在那裡?作用為何?(10 分)
詳解 (共 1 筆)
詳解
GradeBook 的建構子(Constructor)定義在 GradeBook.java 檔案中,位於第7至11行。建構子的簽名(Signature)是 public GradeBook( String name, int[] gradesArray ),它接收兩個參數:一個 String 型態的 name 和一個 int[] 型態的 gradesArray。
建構子的作用是初始化 GradeBook 類別的一個新實例(Instance)。當一個 GradeBook 對象被創建時,建構子會將傳入的 name 參數賦值給類別的 courseName 屬性,並將 gradesArray 參數賦值給類別的 grades 屬性。這樣,每個 GradeBook 對象就會包含其自己的課程名稱和成績數組,允許對這些資料進行進一步的處理和操作,例如計算成績的平均值、輸出成績等。