Lớp Person:
package chuabaitap.baitap1_thuake;
import java.util.Scanner;
public class Person {
String ten;
byte gioiTinh;
String ngaySinh;
String diaChi;
public Person() {
}
public Person(String ten, byte gioiTinh, String ngaySinh, String diaChi) {
this.ten = ten;
this.gioiTinh = gioiTinh;
this.ngaySinh = ngaySinh;
this.diaChi = diaChi;
}
public String getTen() {
return ten;
}
public byte getGioiTinh() {
return gioiTinh;
}
public String getNgaySinh() {
return ngaySinh;
}
public String getDiaChi() {
return diaChi;
}
public void setTen(String ten) {
this.ten = ten;
}
public void setGioiTinh(byte gioiTinh) {
this.gioiTinh = gioiTinh;
}
public void setNgaySinh(String ngaySinh) {
this.ngaySinh = ngaySinh;
}
public void setDiaChi(String diaChi) {
this.diaChi = diaChi;
}
void inputInfo(){
Scanner input=new Scanner(System.in);
do{
System.out.print("Input name: ");
ten=input.nextLine();
}while (ten.length()<1);
//Nhập giới tính: 0: Nữ, 1: Nam, 2: Khác
do{
System.out.print("Input gender: ");
gioiTinh=input.nextByte();
}while (!(0<=gioiTinh && gioiTinh<=2));
input.nextLine();
do{
System.out.print("Input DOB: ");
ngaySinh=input.nextLine();
}while (ngaySinh.length()<8);
do{
System.out.print("Input address: ");
diaChi=input.nextLine();
}while (diaChi.length()<6);
}
void showInfo(){
System.out.println("Name: "+ten);
System.out.println("Gender: "+(gioiTinh==0?"Nữ":gioiTinh==1?"Nam":"Khác"));
System.out.println("DOB: "+ngaySinh);
System.out.println("Address: "+diaChi);
}
}
Lớp Student:
package chuabaitap.baitap1_thuake;
import java.util.Scanner;
public class Student extends Person {
String maSinhVien;
float diemTrungBinh;
String email;
@Override
void inputInfo() {
Scanner input=new Scanner(System.in);
super.inputInfo();
do{
System.out.print("Input Roll number: ");
maSinhVien=input.nextLine();
}while (maSinhVien.length()!=8);
do{
System.out.print("Input average mark: ");
diemTrungBinh=input.nextFloat();
}while (!(0<=diemTrungBinh && diemTrungBinh<=10));
input.nextLine();
do{
System.out.print("Input email: ");
email=input.nextLine();
}while (!(email.contains("@") && !email.contains(" ")));
}
@Override
void showInfo() {
super.showInfo();
System.out.println("Roll number: "+maSinhVien);
System.out.println("Average mark: "+diemTrungBinh);
System.out.println("Email: "+email);
System.out.println("Học bổng: "+xetHocBong());
}
String xetHocBong(){
if(diemTrungBinh>=8){
return "Được học bổng";
}
return "Không được học bổng";
}
}
Lớp StudentTest:
package chuabaitap.baitap1_thuake;
import java.util.*;
public class StudentTest {
static ArrayList<Student> StudentList = new ArrayList<>();
static int n;
static Scanner input=new Scanner(System.in);
static void menu(){
System.out.println("===MENU===");
System.out.println("1. Nhập n sinh viên");
System.out.println("2. Hiển thị thông tin");
System.out.println("3. Điểm trung bình Max, Min");
System.out.println("4. Tìm sinh viên theo mã");
System.out.println("5. Sắp xếp tăng dần theo tên");
System.out.println("6. Sinh viên được học bổng");
System.out.println("7. Thoát");
}
static void inputNStudents(){
Student student;
do{
System.out.print("Input n: ");
n=input.nextInt();
}while (n<1);
for(int i=0; i<n; i++){
System.out.printf("Nhập liệu cho sinh viên thứ %d: %n",i+1);
student=new Student();
student.inputInfo();
StudentList.add(student);
}
}
static void diemTrungBinhMaxVaMin(){
float Max,Min;
//Tìm Max:
Max=0;
for(Student student:StudentList){
if(Max<student.diemTrungBinh){
Max=student.diemTrungBinh;
}
}
System.out.println("Những sinh viên có điểm trung bình cao nhất:");
for(Student student:StudentList){
if(student.diemTrungBinh==Max){
student.showInfo();
}
}
//Tìm Min:
Min=10;
for(Student student:StudentList){
if(Min>student.diemTrungBinh){
Min=student.diemTrungBinh;
}
}
System.out.println("Những sinh viên có điểm trung bình thấp nhất:");
for(Student student:StudentList){
if(student.diemTrungBinh==Min){
student.showInfo();
}
}
}
static void timSinhVienTheoMa(){
String maSinhVien;
System.out.print("Mời nhập mã sinh viên muốn tìm: ");
input.nextLine();
maSinhVien=input.nextLine();
boolean timThay=false;
for(Student student:StudentList){
if(student.maSinhVien.equals(maSinhVien)){
student.showInfo();
timThay=true;
break;
}
}
if(!timThay){
System.out.printf("Không tìm thấy sinh viên nào có mã là <%s>%n",maSinhVien);
}
}
static void hienThiCacSinhVien(){
if(StudentList.isEmpty()){
System.out.println("Không có sinh viên nào!");
return;
}
for(Student student:StudentList){
student.showInfo();
}
}
static void sapXepTangDanTheoTen(){
Collections.sort(StudentList, new Comparator<Student>() {
@Override
public int compare(Student student1, Student student2) {
if(student1.ten.compareTo(student2.ten)>0){
return 1;
}
if(student1.ten.compareTo(student2.ten)==0){
return 0;
}
return -1;
}
});
hienThiCacSinhVien();
}
static void sinhVienDuocHocBong(){
Collections.sort(StudentList, new Comparator<Student>() {
@Override
public int compare(Student student1, Student student2) {
if(student1.diemTrungBinh<student2.diemTrungBinh){
return 1;
}
if(student1.diemTrungBinh==student2.diemTrungBinh){
return 0;
}
return -1;
}
});
System.out.println("Những sinh viên được học bổng:");
boolean timThay=false;
for(Student student:StudentList){
if(student.diemTrungBinh>=8){
student.showInfo();
timThay=true;
}
}
if(!timThay){
System.out.println("Không có sinh viên nào được học bổng!");
}
}
public static void main(String[] args) {
// Person person=new Person();
// person.inputInfo();
// person.showInfo();
// Student student=new Student();
// student.inputInfo();
// student.showInfo();
menu();
while (true){
System.out.print("Mời chọn 1 mục: ");
switch (input.nextInt()){
case 1:
inputNStudents();
break;
case 2:
hienThiCacSinhVien();
break;
case 3:
diemTrungBinhMaxVaMin();
break;
case 4:
timSinhVienTheoMa();
break;
case 5:
sapXepTangDanTheoTen();
break;
case 6:
sinhVienDuocHocBong();
break;
case 7: return;
}
}
}
}