Java - 练习 - 媒体和媒体库

1.创建一个包含
(a) 三个属性:
      private final 字符串标题;
      private final String 支持;
      私有 int nbCopyies;
(b) 三个适当的getter”.
(c) nbExers.
(d) 的 Media(String title, String support) 构造函数,其参数与前两个属性匹配,并将 nbExtes=1.
(e) void 方法 displays() 如果 support=Book”,则显示 TO2 (Book) x2 的 Poly, title=TO2 Poly” 和 nbCopies=2.
(f) 一个布尔方法 isEqual(Media el),如果 this 和 el 具有相同的媒体和 title.


2.在 Main 类中,创建一个 main 方法来测试所有这些。应特别注意 estEgalA.

3.创建一个包含
(a) An ArrayList 的媒体库类<媒体>content.
(b) 一个 Mediatheque() 构造函数,用于将属性初始化为空数组.
(c) void 方法添加 (Media el),如果内容不存在,则将 el 附加到内容中;如果已存在,则该方法必须增加其 nbExemplars.
(d) void 方法显示 () 显示集合中的所有媒体,每行一个。

Solution:

1 页。创建了 Media
a。媒体
关键字final 表示创建实例的元素在执行过程中不会改变,例如,如果创建了 Media 的第二个实例,则第一个实例的未设置 final 的属性将接收第二个实例的值:
Media m1 = new Media(title1”,support1”);
媒体 m2 = 新媒体(title2”,support2”);
显示后:
m1 (title2, support2)
m2 (title2, support2)
注意:单击 view plain 获取文本并执行 Copy/Paste.


public class Media {

private final String title;
private final String 支持;
private int nbCopies;

}
b 和 c。nbCopies
右键单击 --> 的三个 getter 和一个 setter来源 -->生成 Getters 和 Setters.

生成

public int getNbCopies() {
return nbCopies;
}

public void setNbCopies(int nbCopies) {
this.nbCopies = nbCopies;
}

public String getTitre() {
return titre;
}

public String getSupport() {
return support;
}
d.构造函数

public Media(Title String, String support){
this.title = title;
this.support = 支持;
nbCopies = 1;
}
e.方法 display()

void display(){
if(this.support==Book” &&this.titre==Poly de TO2” &&this.nbEx(exte)==2)
System.out.print(this.title+ (” + this.support+ ) x”+this.nbEx(eX));
}
f.布尔方法 isEquals(Media el)

boolean isEqualsA(Media el){
if( support==el.support &&title==el.title)
返回true;
返回 false;
}

2.创建 main

public class Main {

public static void main(String[] args) {
//创建三个 Media
媒体实例 m = new Media(title1”, support1”);
媒体 m2 = 新媒体(title2”, support2”);
媒体 m3 = 新媒体(title3”, support3”);

//检验 equality
boolean isEqualA = m.isEqualsA(m2);
if(isEquals)
System.out.println(Media(”+m.getTitle()+, ”+m.getSupport()+) 等于 Media(”+m2.getTitle()+, ”+m2.getSupport()+)” );
else
System.out.println(+m.getTitle()+”, +m.getSupport()+”) 不等于 Media(+m2.getTitle()+”, +m2.getSupport()+”) );

/************************************
* Médiathèque class
*/
Médiathèque mt = new Médiathèque();
//add
mt.add(m);
mt.添加(m2);
mt.添加(m2);
mt.添加(m3);
//display
mt.display();
}
}

3.创建Mediatheque
a。L'attirubt Arraylist<媒体>content
Arraylist 是一个不设置大小的数组,它的优点是它是无限的,并且包含预定义的方法,例如 get 和 set、顺序搜索 contains(element) 或 indexOf(element).
<媒体>表示我们的 Arraylist 库存的项目属于 Media 类型。这将使我们免于进行以下转换: (Media) ourList.get(index).

public class 媒体库 {

ArrayList content;

}
b。构造函数

Mediatheque(){
this.contenu = new ArrayList();
}
c。该方法 adds(Media el)

void adds(Media el){
if(!this.content.contains(el))
this.content.add(el);
else{
/* 如果已经存在
* 增加 nbExemplar
*/
//列表中 el 的索引
int index = this.content.indexOf(el);
//读取 nbCopies 属性和 increment
int nbCopies = this.content.get(index).getNbCopies() + 1;
//更新 nbCopies
System.out.println(this.content.get(index).getTitle());
this.content.get(index).setNbEx(nbEx)
}
}

d.该方法 displays()

void displays(){
for(Media media: this.contenu)
System.out.println(media.getTitre()+ ”+media.getSupport()+ ”+media.getNbCopies());
}

完整代码 Media.java:

public class Media {

private final String title;
private final String 支持;
private int nbCopies;

public Media(String title, String support){
this.title = title;
this.support = 支持;
nbCopies = 1;
}

void display(){
if(this.support==Book” &&this.titre==Poly de TO2” &&this.nbEx(exte)==2)
System.out.print(this.title+ (” + this.support+ ) x”+this.nbEx(eX));
}

boolean isEqualsA(Media el){
if( support==el.support &&title==el.title)
返回true;
返回 false;
}


public int getNbCopies() {
return nbCopies;
}

public void setNbCopies(int nbCopies) {
this.nbCopies = nbCopies;
}

public String getTitre() {
return titre;
}

public String getSupport() {
return support;
}
}

Mediatheque.java

import java.util.ArrayList;

public class 媒体库 {

ArrayList content;

媒体库(){
this.contenu = new ArrayList();
}

void adds(Media el){
if(!this.content.contains(el))
this.content.add(el);
else{
/* 如果已经存在
* 增加 nbExemplar
*/
//列表中 el 的索引
int index = this.content.indexOf(el);
//读取 nbCopies 属性和 increment
int nbCopies = this.content.get(index).getNbCopies() + 1;
//更新 nbCopies
System.out.println(this.content.get(index).getTitle());
this.content.get(index).setNbEx(nbEx)
}
}

void display(){
for(Media media: this.content)
System.out.println(media.getTitle()+ ”+media.getSupport()+ ”+media.getNbCopies());
}

}

main.java

public class Main {

public static void main(String[] args) {
//创建三个 Media
媒体实例 m = new Media(title1”, support1”);
媒体 m2 = 新媒体(title2”, support2”);
媒体 m3 = 新媒体(title3”, support3”);

//检验 equality
boolean isEqualA = m.isEqualsA(m2);
if(isEquals)
System.out.println(Media(”+m.getTitle()+, ”+m.getSupport()+) 等于 Media(”+m2.getTitle()+, ”+m2.getSupport()+)” );
else
System.out.println(+m.getTitle()+”, +m.getSupport()+”) 不等于 Media(+m2.getTitle()+”, +m2.getSupport()+”) );

/************************************
* Médiathèque class
*/
Médiathèque mt = new Médiathèque();
//add
mt.add(m);
mt.添加(m2);
mt.添加(m2);
mt.添加(m3);
//display
mt.display();
}
}