By GokiSoft.com| 19:32 10/02/2023|
Java Basic

[Source Code] Java Basic- OOP - Interface - Quản lý mèo (cat) trong java - C2206L

Java Basic- OOP - Interface - Quản lý mèo (cat) trong java

#BaseObject.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson06.bt993;

/**
 *
 * @author diepvan
 */
public class BaseObject {
    static int X;
    int y;
    
    public void showA() {
        System.out.println("Xin chao A");
        System.out.println("X = " + X);
        System.out.println("y = " + y);
    }
    
    public static void showB() {
        System.out.println("Xin chao B");
        System.out.println("X = " + X);
//        System.out.println("y = " + y);
    }
}

#CatDetail.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson06.bt993;

import java.util.Scanner;

/**
 *
 * @author diepvan
 */
public class CatDetail implements ICat{
    String loai;
    String mau;
    String noisong;
    int colorIndex;

    public CatDetail() {
    }

    public String getLoai() {
        return loai;
    }

    public void setLoai(String loai) {
        this.loai = loai;
    }

    public String getMau() {
        return mau;
    }

    public void setMau(String mau) {
        this.mau = mau;
    }

    public String getNoisong() {
        return noisong;
    }

    public void setNoisong(String noisong) {
        this.noisong = noisong;
    }

    public int getColorIndex() {
        return colorIndex;
    }

    public void setColorIndex(int colorIndex) {
        this.colorIndex = colorIndex;
    }
    
    @Override
    public void nhap() {
        Scanner scan = new Scanner(System.in);
        ColorManager colorManager = Main.colorManager;
        
        System.out.println("Nhap loai: ");
        loai = scan.nextLine();
        System.out.println("Nhap mau: ");
        do {
            //Hien thi danh sach mau ra ma nhap
            colorManager.hienthi();
            
            mau = scan.nextLine();
            
            if(colorManager.getColorList().contains(mau)) {
                colorIndex = colorManager.getColorIndex(mau);
                break;
            }
        } while(!colorManager.getColorList().isEmpty());
        System.out.println("Nhap noi song: ");
        noisong = scan.nextLine();
    }

    @Override
    public void hienthi() {
        System.out.println(this);
    }

    @Override
    public String toString() {
        return "loai=" + loai + ", mau=" + mau + ", noisong=" + noisong;
    }
}

#ColorManager.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson06.bt993;

import java.util.ArrayList;
import java.util.Scanner;

/**
 *
 * @author diepvan
 */
public class ColorManager implements ICat{
    ArrayList<String> colorList;

    public ColorManager() {
        colorList = new ArrayList<>();
    }

    public ArrayList<String> getColorList() {
        return colorList;
    }

    public void setColorList(ArrayList<String> colorList) {
        this.colorList = colorList;
    }

    @Override
    public void nhap() {
        Scanner scan = new Scanner(System.in);
        
        System.out.println("Nhap so mau can them: ");
        int n = Integer.parseInt(scan.nextLine());
        
        for (int i = 0; i < n; i++) {
            System.out.println("Nhap mau can them: ");
            String color = scan.nextLine();
            colorList.add(color);
        }
    }

    @Override
    public void hienthi() {
        System.out.println("Danh sach mau: ");
        for (String color : colorList) {
            System.out.println(color);
        }
    }
    
    public int getColorIndex(String color) {
        for (int i = 0; i < colorList.size(); i++) {
            if(colorList.get(i).equalsIgnoreCase(color)) return i;
        }
        return -1;
    }
}

#ICat.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson06.bt993;

/**
 *
 * @author diepvan
 */
public interface ICat {
    String ten = "MEO"; //public final
    void nhap();
    void hienthi();
}

#Main.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson06.bt993;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

/**
 *
 * @author diepvan
 */
public class Main {
    public static ColorManager colorManager = new ColorManager();
    public static ArrayList<CatDetail> catList = new ArrayList<>();
    static Scanner scan = new Scanner(System.in);
    
    public static void main(String[] args) {
        int choose;
        
        do {
            showMenu();
            choose = Integer.parseInt(scan.nextLine());
            
            switch (choose) {
                case 1:
                    colorManager.nhap();
                    break;
                case 2:
                    inputCat();
                    break;
                case 3:
                    displayCat();
                    break;
                case 4:
                    sortCatByColor();
                    break;
                case 5:
                    searchCatByLoai();
                    break;
                case 6:
                    sortCatByColorManager();
                    break;
                case 7:
                    System.out.println("Thoat!!!");
                    break;
                default:
                    System.out.println("Nhap sai!!!");
                    break;
            }
        } while(choose != 7);
    }
    
    static void showMenu() {
        System.out.println("1. Nhap mau");
        System.out.println("2. Nhap n meo");
        System.out.println("3. Hien thi");
        System.out.println("4. Sap xep theo mau");
        System.out.println("5. Tim kiem theo loai");
        System.out.println("6. Sap xep mau theo ColorManager");
        System.out.println("7. Thoat");
        System.out.println("Chon: ");
    }

    private static void inputCat() {
        System.out.println("Nhap so meo can them: ");
        int n = Integer.parseInt(scan.nextLine());
        
        for (int i = 0; i < n; i++) {
            CatDetail cat = new CatDetail();
            cat.nhap();
            
            catList.add(cat);
        }
    }

    private static void displayCat() {
        System.out.println("Danh sach meo: ");
        for (CatDetail catDetail : catList) {
            catDetail.hienthi();
        }
    }

    private static void sortCatByColor() {
        Collections.sort(catList, new Comparator<CatDetail>() {
            @Override
            public int compare(CatDetail o1, CatDetail o2) {
//                return o1.getMau().compareTo(o2.getMau());
                return o1.getMau().compareToIgnoreCase(o2.getMau());
            }
        });
        
        displayCat();
    }

    private static void searchCatByLoai() {
        System.out.println("Nhap loai can tim kiem: ");
        String loai = scan.nextLine();
        
        int count = 0;
        for (CatDetail catDetail : catList) {
            if(catDetail.getLoai().equalsIgnoreCase(loai)) {
                catDetail.hienthi();
                count++;
            }
        }
        
        if(count == 0) {
            System.out.println("Khong tim thay");
        }
    }

    private static void sortCatByColorManager() {
        Collections.sort(catList, new Comparator<CatDetail>() {
            @Override
            public int compare(CatDetail o1, CatDetail o2) {
                if(o1.getColorIndex() > o2.getColorIndex()) {
                    return 1;
                }
                return -1;
            }
        });
        
        displayCat();
    }
}

#Test.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson06.bt993;

/**
 *
 * @author diepvan
 */
public class Test {
    public static void main(String[] args) {
        BaseObject.showB();
//        BaseObject.showA();
        
        BaseObject o1 = new BaseObject();
        BaseObject.X = 10;
        o1.y = 12;
        o1.showA();
        
        BaseObject o2 = new BaseObject();
        BaseObject.X = 20;
        o2.y = 22;
        o2.showA();
        
        System.out.println(BaseObject.X + ", " + BaseObject.X);
        System.out.println(o1.y + ", " + o2.y);
    }
}
Tags:



Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó