Xây dựng lớp Pupil (học sinh phổ thông) với encapsulation đầy đủ.
Pupil có private fields:
name (String), age (int), score (double)setName(String s): chỉ chấp nhận khi s không rỗng. Nếu không hợp lệ, giữ nguyên giá trị cũ (mặc định "unknown").setAge(int a): chỉ chấp nhận khi 6 ≤ a ≤ 18. Nếu không hợp lệ, giữ nguyên giá trị cũ (mặc định 6).setScore(double s): chỉ chấp nhận khi 0 ≤ s ≤ 10. Nếu không hợp lệ, giữ nguyên (mặc định 0).Pupil() set các giá trị mặc định trên.main, đọc Q (số thao tác). Mỗi thao tác trên cùng 1 dòng:
SETN <name> → setNameSETA <age> → setAgeSETS <score> → setScoreSHOW → in <name> <age> <score> (score 2 chữ số thập phân) — đây là trạng thái hiện tại.Mỗi thao tác SHOW in 1 dòng <name> <age> <score> (score 2 chữ số thập phân).
Ví dụ:
Đầu vào:
6
SETN An
SETA 15
SETS 8.5
SHOW
SETA 25
SHOW
Đầu ra:
An 15 8.50
An 15 8.50
Giải thích:
Đầu vào:
3
SHOW
SETS -1
SHOW
Đầu ra:
unknown 6 0.00
unknown 6 0.00
Giải thích:
Đầu vào:
6
SETN Binh
SETA 10
SETS 7.5
SHOW
SETN x
SHOW
Đầu ra:
Binh 10 7.50
x 10 7.50
Đầu vào:
4
SETA 18
SETA 19
SETS 10
SHOW
Đầu ra:
unknown 18 10.00
Đang tải editor...