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.
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 方法显示 () 显示集合中的所有媒体,每行一个。
(a) An ArrayList 的媒体库类<媒体>content.
(b) 一个 Mediatheque() 构造函数,用于将属性初始化为空数组.
(c) void 方法添加 (Media el),如果内容不存在,则将 el 附加到内容中;如果已存在,则该方法必须增加其 nbExemplars.
(d) void 方法显示 () 显示集合中的所有媒体,每行一个。
关键字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.
2.创建 main
a。L'attirubt Arraylist<媒体>content
Arraylist 是一个不设置大小的数组,它的优点是它是无限的,并且包含预定义的方法,例如 get 和 set、顺序搜索 contains(element) 或 indexOf(element).
<媒体>表示我们的 Arraylist 库存的项目属于 Media 类型。这将使我们免于进行以下转换: (Media) ourList.get(index).
d.该方法 displays()
完整代码 Media.java:
main.java
右键单击 --> 的三个 getter 和一个 setter来源 -->生成 Getters 和 Setters.
public int getNbCopies() {d.构造函数
return nbCopies;
}
public void setNbCopies(int nbCopies) {
this.nbCopies = nbCopies;
}
public String getTitre() {
return titre;
}
public String getSupport() {
return support;
}
public Media(Title String, String support){e.方法 display()
this.title = title;
this.support = 支持;
nbCopies = 1;
}
void display(){f.布尔方法 isEquals(Media el)
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;
}
2.创建 main
public class Main {3.创建Mediatheque
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();
}
}
a。L'attirubt Arraylist<媒体>content
Arraylist 是一个不设置大小的数组,它的优点是它是无限的,并且包含预定义的方法,例如 get 和 set、顺序搜索 contains(element) 或 indexOf(element).
<媒体>表示我们的 Arraylist 库存的项目属于 Media 类型。这将使我们免于进行以下转换: (Media) ourList.get(index).
public class 媒体库 {b。构造函数
ArrayListcontent;
}
Mediatheque(){c。该方法 adds(Media el)
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)
}
}
d.该方法 displays()
void displays(){
for(Media media: this.contenu)
System.out.println(media.getTitre()+ ”+media.getSupport()+ ”+media.getNbCopies());
}
完整代码 Media.java:
public class Media {Mediatheque.java
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;
}
}
import java.util.ArrayList;
public class 媒体库 {
ArrayListcontent;
媒体库(){
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();
}
}