30/09/2018, 18:22

Hỏi về bài tập lập trình hướng đội tượng trong java

E mới học về lập trình hướng đội tượng. E vừa làm một bài mà không hiểu sai ở đâu nữa ai có thể chỉ e với ạ
Đề bài: Bài toán quản lý thông tin 3 học sinh tiểu học bao gồm những thông tin sau: Họ tên, lớp, ngày sinh, điểm toán, lý hóa, anh. Người quản lý sẽ quản lý về thông tin các học sinh trên, hiển thị danh sách sinh viên theo điểm tăng dần của điểm trung bình. Ngoài ra khi cần thiết, sẽ tiến hành tìm kiếm theo họ tên hoặc các điểm toán, lý, hóa, anh để hiển thị ra các thông tin học sinh cần tìm.
Viết chương trình giải quyết bài toán trên bằng LTHĐT?
- Đối tượng:

  • Học Sinh
  • Quản Lý
  • Main
  • Trong Main, tiến hành kiểm tra các phương thức:
  • nhập/in thông tin 3 học sinh
    + sắp xếp thông tin học sinh theo điểm TB tăng dần
    + tìm kiếm thông tin học sinh theo họ tên
    + tìm kiếm thông tin học sinh theo điểm toán
    + tìm kiếm thông tin học sinh theo điểm trung bình
    E có 3 class như sau:

Class Sinh Vien

public class SinhVien {
private String hoTen;
private String lop;
private String ngaySinh;
private float diemToan;
private float diemLy;
private float diemHoa;
private float diemAnh;
public SinhVien() {
    
}

public SinhVien(String hoTen, String lop, String ngaySinh, float diemToan,
        float diemLy, float diemHoa, float diemAnh) {
    super();
    this.hoTen = hoTen;
    this.lop = lop;
    this.ngaySinh = ngaySinh;
    this.diemToan = diemToan;
    this.diemLy = diemLy;
    this.diemHoa = diemHoa;
    this.diemAnh = diemAnh;
}

public String getHoTen() {
    return hoTen;
}

public void setHoTen(String hoTen) {
    this.hoTen = hoTen;
}

public String getLop() {
    return lop;
}

public void setLop(String lop) {
    this.lop = lop;
}

public String getNgaySinh() {
    return ngaySinh;
}

public void setNgaySinh(String ngaySinh) {
    this.ngaySinh = ngaySinh;
}

public float getDiemToan() {
    return diemToan;
}

public void setDiemToan(float diemToan) {
    this.diemToan = diemToan;
}

public float getDiemLy() {
    return diemLy;
}

public void setDiemLy(float diemLy) {
    this.diemLy = diemLy;
}

public float getDiemHoa() {
    return diemHoa;
}

public void setDiemHoa(float diemHoa) {
    this.diemHoa = diemHoa;
}

public float getDiemAnh() {
    return diemAnh;
}

public void setDiemAnh(float diemAnh) {
    this.diemAnh = diemAnh;
}

public float getTrungBinh() {
    return (getDiemAnh() + getDiemHoa()
            + getDiemLy() + getDiemToan()) / 4;
}

Class QuanLy

public class QuanLy {
private SinhVien[] sv = new SinhVien[3];;
private Scanner scanner = new Scanner(System.in);;

public QuanLy() {
    
}

public void showSV(SinhVien sv) {
    
    System.out.println(sv.getHoTen() + "	" + sv.getLop()
            + "	" + sv.getNgaySinh());

}

public void diemTB() {
    for (int i = 0; i<sv.length;){
        if (sv[i].getTrungBinh()<sv[i+1].getTrungBinh()){
            showSV(sv[i]);
            if (sv[i+1].getTrungBinh()<sv[i+2].getTrungBinh()){
                showSV(sv[i+1]);
                showSV(sv[i+2]);
            }else {
                showSV(sv[i+2]);
                showSV(sv[i+1]);
            }
        }else {
            showSV(sv[i+1]);
            if (sv[i].getTrungBinh()<sv[i+2].getTrungBinh()){
                showSV(sv[i]);
                showSV(sv[i+2]);
            }else {
                showSV(sv[i+2]);
                showSV(sv[i]);
            }
        }
    }
    
}
public void searchName(){
    System.out.println("Tim kiem theo ho ten: " );
    String str = scanner.nextLine();
    for (int i = 1; i <= sv.length; i++) {
        if (str.equals(sv[i].getHoTen())){
            showSV(sv[i]);
        }
    }
    
}
public void searchScore(){
    System.out.println("Tim kiem theo diem toan: " );
    scanner = new Scanner(System.in);
    String index = scanner.nextLine();
    for (int i = 0; i < sv.length; i++) {
        if (index.equals(sv[i].getDiemToan())){
            showSV(sv[i]);
        }
    }
}
public void searchAverage(){
    System.out.println("Tim kiem theo diem toan: " );
    scanner = new Scanner(System.in);
    String index = scanner.nextLine();
    
    for (int i = 0; i < sv.length; i++) {
        if (index.equals(sv[i].getTrungBinh())){
            showSV(sv[i]);
        }
    }
}

}

Class Main

public class Main {

public static void main(String[] args) {
    
    SinhVien sv1 = new SinhVien();
    SinhVien sv2 = new SinhVien();
    SinhVien sv3 = new SinhVien();
    sv1.setHoTen("Nguyen van a");
    sv1.setLop("10a");
    sv1.setNgaySinh("22");
    sv1.setDiemToan(10);
    sv1.setDiemHoa(10);
    sv1.setDiemLy(10);
    sv1.setDiemAnh(10);
    sv2.setHoTen("Nguyen van b");
    sv2.setLop("10b");
    sv2.setNgaySinh("21");
    sv2.setDiemToan(9);
    sv2.setDiemHoa(9);
    sv2.setDiemLy(9);
    sv2.setDiemAnh(9);
    sv3.setHoTen("Nguyen van c");
    sv3.setLop("10c");
    sv3.setNgaySinh("23");
    sv3.setDiemToan(8);
    sv3.setDiemHoa(8);
    sv3.setDiemLy(8);
    sv3.setDiemAnh(8);
    QuanLy quanLy = new QuanLy();
    System.out.println("Ho ten" + "	" + "Lop" + "	" + "Ngay Sinh");
    quanLy.diemTB();
    quanLy.searchName();
}

}

vũ xuân quân viết 20:24 ngày 30/09/2018

trong hàm main đâu có thấy 3 object sinh viên và object Quản lý liên quan đến nhau đâu ?
Thấy tách biệt.
Em gọi hàm diemTB và searchName thì đâu có data đâu mà ra được.

HN viết 20:35 ngày 30/09/2018

Là sao hả a. e mới học chưa hiểu lắm. E tưởng gọi class sinhvien trong class quanly là liên quan tới nhau rồi chứ ạ

vũ xuân quân viết 20:31 ngày 30/09/2018

anh cũng không biết viết sao cho em hiểu nữa. Để anh nhờ người khác giúp vậy.
Mà em đang coi tài liệu ở đâu vậy.
Tài liệu tham khảo

[Video] Java cơ bản 1: Giới thiệu và cài đặt JDK [Video] Java cơ bản 2: Chương trình HelloWorld [Video] Java cơ bản 3: Netbeans và Eclipse [Video] Java cơ bản 4: Tạo và sử dụng project [Video] Java cơ bản 5: Lớp và phương thức [Video] Java cơ bản 6: Thuộc tính và biến [Video] Java cơ bản 7: Từ khóa trong Java [Video] Java cơ bản 8: Coding style và Name Convention [Video] Java cơ bản 9: Các kiểu dữ liệu trong Java [Video] Java cơ bản 10: Cấu trúc điều kiện If else [Video] Java cơ bản 11…

Như đã trình bày ở http://daynhauhoc.com/t/to-chuc-hoc-core-java/10176 Mình xin bắt đầu với topic đầu tiên: Object Orientation(OO) trong java. Trước khi bắt đầu mình có 1 vài chú ý nho nhỏ smile: Rất nhiều từ mình sẽ không dịch sang tiếng việt mà giữ nguyên tiếng anh VD: Object, Class, Encapsulation... Vì sao lại thế chắc các bạn cũng hiểu. Không thảo luận những vấn đề không liên quan đến topic: VD: đang nói về Object Orientation lại có bạn hỏi về Exception, Thread... Những đóng góp ý kiến, c…

Nguyen Ca viết 20:37 ngày 30/09/2018

Em chưa add sinhvien vào quanly,
Trong lass quanly em cũng cần set cho List sinh viên nữa.

private SinhVien[] sv = new SinhVien[3]; -->// not  implement set get method
Bài liên quan
0