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)