Truy vấn bảng
Các khóa học đã ra mắt và sinh viên đã ghi danh — làm tốt lắm! Nhiệm vụ cuối cùng của bạn là xác định những sinh viên có thành tích cao, vừa mới ghi danh và đang học rất tốt để đưa vào chiến dịch tiếp theo. Bây giờ bạn sẽ làm việc với bộ dữ liệu khác, students.csv, chứa thông tin về tất cả sinh viên và điểm số của họ. Cột GPA chứa điểm, và cột EnrollmentDate là ngày sinh viên ghi danh vào khóa học.
Các lớp Table, Selection, và LocalDate đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Nhập dữ liệu trong Java
Hướng dẫn bài tập
- Tạo một
Selectioncho"GPA"lớn hơn3.5. - Tạo một
Selectioncho ngày ghi danh sauJan 1, 2022. - Kết hợp cả hai đối tượng
Selection. - Lọc bảng sinh viên.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
public class StudentAnalysis {
public static void main(String[] args) {
try {
Table students = Table.read().csv("students.csv");
// Create a Selection for GPA greater than 3.5
Selection highGpa = students.doubleColumn("____").____(3.5);
// Create a Selection for enrollment after Jan 1, 2022
Selection freshmen = students.dateColumn("EnrollmentDate")
.____(LocalDate.of(2022, 1, 1));
// Combine both Selections
Selection highPerformingFreshmen = highGpa.____(freshmen);
// Filter the students table
Table featured = students.____(highPerformingFreshmen);
System.out.println("High-performing freshmen:");
System.out.println(featured.print());
} catch (Exception e) {
System.err.println("Error reading CSV files: " + e.getMessage());
}
}
}