Giai BT OOP Java

You might also like

You are on page 1of 5

Cửa hàng bán đĩa DVD cần tin học hóa việc quản lý và tìm kiếm đĩa theo

yêu cầu
khách hàng.
DVD bao gồm các loại như: DVD trắng (loại 1, loại 2), DVD ca nhạc (nhạc không lời,
nhạc trẻ,...), DVD phim (phim hành động, phim thiếu nhi,...)
- DVDBlank có các thông tin: id, name, type, publisher, storageCapacity.
- DVDMusic có các thông tin: id, name, type, singerList, musicStudio, publishYear.
- DVDMovie có các thông tin: id, name, type, majorActorList, movieStudio,
publishYear.
Dùng lập trình Java giải các yêu cầu sau:
Câu 1: Xây dựng class DVDBlank, DVDMusic có chứa các phương thức: get, set,
constructor, input, output.
Câu 2: Xây dựng class DVDList chứa danh sách các DVD chứa các phương thức add,
remove.
Câu 3: Viết hàm filter DVD theo id, name, type cho class DVDList.
Câu 4: Viết hàm filter DVD ca nhạc theo tên ca sĩ (singer) cho class DVDList.

/*Giải*/
Câu 1: public class DVDBlank {
private int id;
private String name;
private String type;
private String publisher;
private int storageCapacity;

public DVDBlank(int id, String name, String type, String publisher, int
storageCapacity) {
this.id = id;
this.name = name;
this.type = type;
this.publisher = publisher;
this.storageCapacity = storageCapacity;
}

public int getId() {


return id;
}

public void setId(int id) {


this.id = id;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}

public String getType() {


return type;
}

public void setType(String type) {


this.type = type;
}

public String getPublisher() {


return publisher;
}

public void setPublisher(String publisher) {


this.publisher = publisher;
}

public int getStorageCapacity() {


return storageCapacity;
}

public void setStorageCapacity(int storageCapacity) {


this.storageCapacity = storageCapacity;
}

public void input() {


// Các lệnh nhập thông tin của đĩa trắng từ bàn phím
}

public void output() {


// Các lệnh xuất thông tin của đĩa trắng ra màn hình
}
}

//Class DVDMusic:
import java.util.ArrayList;

public class DVDMusic {


private int id;
private String name;
private String type;
private ArrayList<String> singerList;
private String musicStudio;
private int publishYear;

public DVDMusic(int id, String name, String type, ArrayList<String> singerList,


String musicStudio, int publishYear) {
this.id = id;
this.name = name;
this.type = type;
this.singerList = singerList;
this.musicStudio = musicStudio;
this.publishYear = publishYear;
}

public int getId() {


return id;
}

public void setId(int id) {


this.id = id;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}
public String getType() {
return type;
}

public void setType(String type) {


this.type = type;
}

public ArrayList<String> getSingerList() {


return singerList;
}

public void setSingerList(ArrayList<String> singerList) {


this.singerList = singerList;
}

public String getMusicStudio() {


return musicStudio;
}

public void setMusicStudio(String musicStudio) {


this.musicStudio = musicStudio;
}

public int getPublishYear() {


return publishYear;
}

public void setPublishYear(int publishYear) {


this.publishYear = publishYear;
}

public void input() {


// Các lệnh nhập thông tin của đĩa nhạc từ bàn phím
}

public void output() {


// Các lệnh xuất thông tin của đĩa nhạc ra màn hình
}
}

Câu 2:
import java.util.ArrayList;

public class DVDList {


private ArrayList<DVDBlank> dvdBlankList;
private ArrayList<DVDMusic> dvdMusicList;
private ArrayList<DVDMovie> dvdMovieList;

public DVDList() {
dvdBlankList = new ArrayList<DVDBlank>();
dvdMusicList = new ArrayList<DVDMusic>();
dvdMovieList = new ArrayList<DVDMovie>();
}

public void add(DVDBlank dvd) {


dvdBlankList.add(dvd);
}
public void add(DVDMusic dvd) {
dvdMusicList.add(dvd);
}

public void add(DVDMovie dvd) {


dvdMovieList.add(dvd);
}

public void remove(DVDBlank dvd) {


dvdBlankList.remove(dvd);
}

public void remove(DVDMusic dvd) {


dvdMusicList.remove(dvd);
}

public void remove(DVDMovie dvd) {


dvdMovieList.remove(dvd);
}
}

Câu 3:
public class DVDList {
// các phương thức khác như đã định nghĩa ở trên

public ArrayList<DVD> filterById(int id) {


ArrayList<DVD> filteredList = new ArrayList<DVD>();

for (DVDBlank dvd : dvdBlankList) {


if (dvd.getId() == id) {
filteredList.add(dvd);
}
}

for (DVDMusic dvd : dvdMusicList) {


if (dvd.getId() == id) {
filteredList.add(dvd);
}
}

for (DVDMovie dvd : dvdMovieList) {


if (dvd.getId() == id) {
filteredList.add(dvd);
}
}

return filteredList;
}

public ArrayList<DVD> filterByName(String name) {


ArrayList<DVD> filteredList = new ArrayList<DVD>();

for (DVDBlank dvd : dvdBlankList) {


if (dvd.getName().equals(name)) {
filteredList.add(dvd);
}
}
for (DVDMusic dvd : dvdMusicList) {
if (dvd.getName().equals(name)) {
filteredList.add(dvd);
}
}

for (DVDMovie dvd : dvdMovieList) {


if (dvd.getName().equals(name)) {
filteredList.add(dvd);
}
}

return filteredList;
}

public ArrayList<DVD> filterByType(String type) {


ArrayList<DVD> filteredList = new ArrayList<DVD>();

for (DVDBlank dvd : dvdBlankList) {


if (dvd.getType().equals(type)) {
filteredList.add(dvd);
}
}

for (DVDMusic dvd : dvdMusicList) {


if (dvd.getType().equals(type)) {
filteredList.add(dvd);
}
}

for (DVDMovie dvd : dvdMovieList) {


if (dvd.getType().equals(type)) {
filteredList.add(dvd);
}
}

return filteredList;
}
}

Câu 4:
public class DVDList {
// các phương thức khác như đã định nghĩa ở trên
public ArrayList<DVDMusic> filterMusicBySinger(String singer) {
ArrayList<DVDMusic> filteredList = new ArrayList<DVDMusic>();

for (DVDMusic dvd : dvdMusicList) {


if (dvd.getSingerList().contains(singer)) {
filteredList.add(dvd);
}
}

return filteredList;
}
}

You might also like