Java - 演習 - メディアとメディアライブラリ
1.
(a) 3つの属性:
private final String タイトル。
private final Stringのサポート。
プライベートint型nbCopies;
(b) 3 つの適切な "getter".
(c) nbExers.
(d) の "setter" 引数が最初の 2 つの属性に一致し、nbExtes=1.
(e) を設定する void メソッド displays() support="Book" の場合、TO2 (Book) x2 の Poly を表示します。 title="TO2 Poly" and nbCopies=2.
(f) this と el のメディアとタイトルが同一の場合に true を返すブール型メソッド isEqual(Media el).
private final String タイトル。
private final Stringのサポート。
プライベートint型nbCopies;
(b) 3 つの適切な "getter".
(c) nbExers.
(d) の "setter" 引数が最初の 2 つの属性に一致し、nbExtes=1.
(e) を設定する void メソッド displays() support="Book" の場合、TO2 (Book) x2 の Poly を表示します。 title="TO2 Poly" and nbCopies=2.
(f) this と el のメディアとタイトルが同一の場合に true を返すブール型メソッド isEqual(Media el).
2.Main クラスで、これらすべてをテストするための main メソッドを作成します。estEgalA.
3.
(a) ArrayList を含むメディア ライブラリ クラスを作成します<メディア>content.
(b) 属性を空の配列に初期化する Mediatheque() コンストラクタ.
(c) void メソッドは、コンテンツに el を追加する (Media el) を追加します。すでに存在する場合は、その nbExemplars.
(d) void メソッド displays() は、コレクション内のすべてのメディアを 1 行に 1 つずつ表示します。
(a) ArrayList を含むメディア ライブラリ クラスを作成します<メディア>content.
(b) 属性を空の配列に初期化する Mediatheque() コンストラクタ.
(c) void メソッドは、コンテンツに el を追加する (Media el) を追加します。すでに存在する場合は、その nbExemplars.
(d) void メソッド displays() は、コレクション内のすべてのメディアを 1 行に 1 つずつ表示します。
The keywordfinal は、作成されたインスタンスの要素が実行中に変更されないことを示します。たとえば、Media の 2 番目のインスタンスが作成された場合、最初のインスタンスの final に設定されていない属性は 2 番目のインスタンスの値を受け取ります:
Media m1 = new Media("title1","support1");
Media m2 = new Media("title2","support2");
After display:
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
右クリック --> の 3 つのゲッターとセッター出典 -->ゲッターとセッターを生成する.
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
右クリック --> の 3 つのゲッターとセッター出典 -->ゲッターとセッターを生成する.
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)
return true;
return false;
}
2 です。main
public class Main {3.Mediatheque
public static void main(String[] args) {
// 3 つの Media
Media インスタンスの作成 m = new Media("title1", "support1");
Media m2 = new Media("title2", "support2");
メディア m3 = new Media("title3", "support3");
//等価性をテストする
boolean isEqualA = m.isEqualsA(m2);
if(isEquals)
System.out.println("Media("+m.getTitle()+", "+m.getSupport()+") is equal to Media("+m2.getTitle()+", "+m2.getSupport()+")" );
else
System.out.println("+m.getTitle()+", "+m.getSupport()+") is not equal to Media("+m2.getTitle()+", "+m2.getSupport()+")" );
/************************************
* Médiathèque class
*/
Médiathèque mt = new Médiathèque();
//追加
mt.add(m);
mt.added(m2);
mt.added(m2);
mt.added(m3);
//display
mt.display();
}
}
a.L'attirubt Arraylist<メディア>content
Arraylist はサイズが設定されていない配列であり、その利点は無限であり、get と set、シーケンシャル検索 contains(element)、indexOf(element).
< などの定義済みのメソッドが含まれていることですメディア>は、Arraylist がストックする項目が Media 型であることを意味します。これにより、次の変換を行う必要がなくなります: (Media) ourList.get(index).
public class Media Library {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 属性を読み取り、インクリメントします
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(文字列タイトル, 文字列サポート){
this.title = title;
this.support = サポート;
nbCopies = 1;
}
void display(){
if(this.support=="予約" &&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)
return true;
return 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 属性を読み取り、インクリメントします
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) {
// 3 つの Media
Media インスタンスの作成 m = new Media("title1", "support1");
Media m2 = new Media("title2", "support2");
メディア m3 = new Media("title3", "support3");
//等価性をテストする
boolean isEqualA = m.isEqualsA(m2);
if(isEquals)
System.out.println("Media("+m.getTitle()+", "+m.getSupport()+") is equal to Media("+m2.getTitle()+", "+m2.getSupport()+")" );
else
System.out.println("+m.getTitle()+", "+m.getSupport()+") is not equal to Media("+m2.getTitle()+", "+m2.getSupport()+")" );
/************************************
* Médiathèque class
*/
Médiathèque mt = new Médiathèque();
//追加
mt.add(m);
mt.added(m2);
mt.added(m2);
mt.added(m3);
//display
mt.display();
}
}