Grade Report
Submit solution
Points:
10 (partial)
Time limit:
1.0s
Memory limit:
64M
Authors:
Problem type
Allowed languages
Java 19, Java 8
這個程式允許使用者輸入一個整數n,以及n組學生姓名和成績配對
輸入完成之後,程式會印出學生成績清單,每個學生成績的輸出格式為"Student: studentName, Grade: courseGrade",例如,若學生名稱為Alice,成績為90,則輸出該學生成績時會印出"Student: Alice, Grade: 90"。
這個程式目前仍缺少Grade函數的實作,請完成它,並且上傳完整的程式。 除了Grade函數之外,請勿修改其他已經寫好的部分,違反此規則者,無論自動評測結果為何,在考試中均不計分。但允許輕微的排版差異。
程式完成之後,可用以下測試資料做初步的測試,但仍請自行設計完整的測試資料
輸入 #1:
2 Jack 90 Mike 95
輸出 #1:
Student: Jack, Grade: 90 ; Student: Mike, Grade: 95 ;
輸入 #2:
2 J 1 M -1
輸出 #2:
Student: J, Grade: 1 ; Student: M, Grade: -1 ;
import java.util.Scanner;
// 定義Grade類別,建構函數的第一個參數是學生名稱字串,第二個參數是整數成績
// Grade類別有一個getInfo方法,返回一個字串,格式為"Student: studentName, Grade: courseGrade"
// 例如"Student: Alice, Grade: 90"
class Grade {
...
}
public class GradeReport {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 讀取學生數量,這是使用者輸入的第一個數字
int n = scanner.nextInt();
// 創建Grade物件的陣列
Grade[] grades = new Grade[n];
// 接著讀取 n 組學生名稱和成績,並為每個學生創建Grade物件,然後將其添加到陣列中
for (int i = 0; i < n; i++) {
String studentName = scanner.next();
int courseGrade = scanner.nextInt();
// 創建Grade物件,建構子的第一個參數是學生名稱,第二個參數是成績
grades[i] = new Grade(studentName, courseGrade);
}
// 輸出每一組學生名稱和成績
for (int i = 0; i < grades.length; i++) {
// 呼叫Grade物件的getInfo方法,並輸出結果,格式為"Student: studentName, Grade: courseGrade"
// 例如"Student: Alice, Grade: 90"
System.out.print(grades[i].getInfo());
System.out.print(" ; ");
}
}
}
Comments
題解