Java 54 - Xây dựng phương thức so sánh lớn bé compareTo trong lập trình Java



    Bản quyền thuộc về TITV.vn, 
    vui lòng không đăng tải lại nội dung từ trang này.

    Video giải thích chi tiết


     Code chi tiết 

    
    package vidu;
    
    public class SinhVien implements Comparable {
    	private int maSinhVien;
    	private String hoVaTen;
    	private String tenLop;
    	private double diemTrungBinh;
    	
    	public SinhVien(int maSinhVien, String hoVaTen, String tenLop, double diemTrungBinh) {
    		this.maSinhVien = maSinhVien;
    		this.hoVaTen = hoVaTen;
    		this.tenLop = tenLop;
    		this.diemTrungBinh = diemTrungBinh;
    	}
    
    	public int getMaSinhVien() {
    		return maSinhVien;
    	}
    
    	public void setMaSinhVien(int maSinhVien) {
    		this.maSinhVien = maSinhVien;
    	}
    
    	public String getHoVaTen() {
    		return hoVaTen;
    	}
    
    	public void setHoVaTen(String hoVaTen) {
    		this.hoVaTen = hoVaTen;
    	}
    
    	public String getTenLop() {
    		return tenLop;
    	}
    
    	public void setTenLop(String tenLop) {
    		this.tenLop = tenLop;
    	}
    
    	public double getDiemTrungBinh() {
    		return diemTrungBinh;
    	}
    
    	public void setDiemTrungBinh(double diemTrungBinh) {
    		this.diemTrungBinh = diemTrungBinh;
    	}
    
    	public String getTen() {
    		String s = this.hoVaTen.trim();
    		if(s.indexOf(" ")>=0) {
    			int vt = s.lastIndexOf(" ");
    			return s.substring(vt+1);
    		}else {
    			return s;
    		}
    	}
    	
    	@Override
    	public int compareTo(SinhVien o) {
    		// <0
    		// =0
    		// >0
    		// Dua tren so sanh ten
    		// Ten: Adam, Barack Obama,     Nguyen Van A     , Tran Thi Thanh Yen
    		String tenThis = this.getTen();
    		String tenO=o.getTen();
    		
    		return tenThis.compareTo(tenO);
    	}
    }
    package vidu;
    
    public class Test {
    	public static void main(String[] args) {
    		SinhVien sv1 =new SinhVien(150, "Tran Van Thanh", "Lop 1", 9);
    		SinhVien sv2 =new SinhVien(100, "Nguyen Thi Thanh Hoa", "Lop 2", 8);
    		SinhVien sv3 =new SinhVien(199, "Nguyen Van An", "Lop 2", 8);
    		
    		System.out.println(sv1.compareTo(sv2));
    		System.out.println(sv3.compareTo(sv1));
    	}
    }
    
    
         

    Bạn có thể thích những bài đăng này:

    1 nhận xét:

    1. Sắp xếp dựa trên điểm tb:
      @Override
      public int compareTo(SinhVien o) {

      return this.diemTrungBinh - o.diemTrungBinh;
      Chỉ cần như v thôi đúng kg thầy nhỉ?

      Trả lờiXóa