جافا - تمارين - مكتبة الوسائط والوسائط
< نمط الامتداد = "اللون: # 141823 ؛" >1. إنشاء فئة وسائط تحتوي على< / span >< / span >< / div>
< / div>
Solution:
1. إنشاء الوسائط < / o: p >< / div>a. الوسائط < / o: p >
الكلمة الرئيسية < نمط span = "اللون: #741b47;" يشير > إلى أن عنصر المثيل الذي تم إنشاؤه لن يتغير أثناء التنفيذ، على سبيل المثال إذا تم إنشاء مثيل ثان من الوسائط، فإن السمات التي لم يتم تعيينها نهائيا للمثيل الأول ستتلقى قيم المثيل الثاني:
Media m1 = وسائط جديدة ("title1"، "support1")؛
Media m2 = وسائط جديدة ("title2" ، "support2") ؛
بعد العرض:
m1 (العنوان 2 ، الدعم 2)
m2 (العنوان 2 ، الدعم 2)
ملاحظة: انقر فوق < span style = "اللون: أحمر ؛" >عرض عادي< / سبان> للحصول على النص والقيام نسخ / لصق < br / >
< / o: p>
< pre class = "prettyprint lang-java" > public class media {
عنوان السلسلة النهائي الخاص ؛
دعم السلسلة النهائية الخاصة ؛
int nbCopyies الخاصة ؛
} < / قبل >< / DIV >< DIV > B و C. الحاصلون الثلاثة وواضع ل nbCopyies
انقر بزر الماوس الأيمن --> المصدر --> إنشاء Getters و Setters.
< / a>< / div>< / a>
2. إنشاء فئة main
< pre class = "prettyprint lang-java" > public class Main {
الفراغ الثابت العام الرئيسي (String [] args) {
// إنشاء ثلاث وسائط
مثيلات الوسائط m = الوسائط الجديدة ("title1" ، "support1") ؛
Media m2 = وسائط جديدة ("title2" ، "support2") ؛
Media m3 = وسائط جديدة ("title3" ، "support3") ؛
//اختبار المساواة
المنطقي 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 () +") لا يساوي الوسائط ("+ m2.getTitle () +" ، "+ m2.getSupport () + ")" ؛
/ ************************************
* فئة Médiathèque
* /
Médiathèque mt = New Médiathèque ();
//add
mt.add(m);
طن متري مضاف (م2);
طن متري مضاف (م2);
طن متري مضاف (م3);
// display
mt.display () ؛
}
}
< / pre>3. إنشاء Mediatheque
a. L'attirubt Arraylist< وسائل الإعلام> content
Arraylist عبارة عن مصفوفة لم يتم تعيينها في الحجم ، وميزتها أنها لا حصر لها ، وتحتوي على طرق محددة مسبقا مثل get and set ، أو البحث المتسلسل يحتوي على (عنصر) ، أو indexOf(element).
< وسائل الإعلام> يعني أن العناصر التي مخزون Arraylist الخاص بنا هي من نوع الوسائط. سيوفر لنا هذا من إجراء التحويل التالي: (الوسائط) ourList.get(index).
< pre class = "prettyprint lang-java" >void adds (Media el) {
if (!this.content.contains(el)))
this.content.add(el);
else{
/* إذا كان هناك بالفعل
* زيادة قيمة nbExemplar
*/
//index of el في القائمة
int index = this.content.indexOf(el);
//read السمة nbCopies و increment
int nbCopies = this.content.get(index).getNbCopyies() + 1;
//تحديث nbCopyies
System.out.println(this.content.get(index).getTitle());
this.content.get(index).setNbEx(nbEx)
}
}
< / pre>
d. تعرض الطريقة () < br / >
< pre class = "prettyprint lang-java" > void displays() {
for (Media media: this.contenu)
System.out.println(media.getTitre()+" "+media.getSupport()+" "+media.getNbCopyies());
}
< / pre>
الكود الكامل < span style = "اللون: #0b5394;" >Media.java: < / span >
< span style = "اللون: #0b5394 ؛" >
< / span >< pre class = "prettyprint lang-java" > public class media {
عنوان السلسلة النهائي الخاص ؛
دعم السلسلة النهائية الخاصة ؛
int nbCopyies الخاصة ؛
الوسائط العامة (عنوان السلسلة ، دعم السلسلة) {
this.title = title ؛
this.support = الدعم ؛
nbCopies = 1 ؛
}
عرض فارغ () {
if (this.support == "كتاب" & & this.titre=="بولي دي TO2" & & this.nbEx(exte)==2)
System.out.print(this.title+ "(" + this.support+ ") x"+this.nbEx(eX));
}
منطقية isEqualsA(Media el){
if( support==el.support & & العنوان == el.title) < br / > إرجاع صحيح ؛
إرجاع خاطئ ؛
}
int publicn getNbCopyies () {
إرجاع nbCopyies ؛
}
الفراغ العام setNbCopyies(int nbCopyies) {
this.nbCopies = nbCopyies;
}
سلسلة عامة getTitre () {
عيار العودة ؛
}
سلسلة عامة getSupport () {
دعم العودة ؛
}
}
< / pre>Mediatheque.java< / span >
< span style = "اللون: #0b5394 ؛" >
< نمط الامتداد = "اللون: # 141823 ؛" > (أ) ثلاث سمات:
نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ عنوان السلسلة النهائي الخاص ؛ < فرع /> نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ دعم السلسلة النهائية الخاصة ؛ < فرع /> نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نسخ int الخاصة ؛
(b) "getters" الثلاثة المناسبين.
(c) "واضع" ل nbExers.
(d) منشئ الوسائط (عنوان السلسلة ، دعم السلسلة) الذي تتطابق وسيطاته مع السمتين الأوليين والذي يحدد nbExtes = 1.
(e) تعرض طريقة الفراغ () التي تعرض Poly of TO2 (كتاب) x2 إذا كان الدعم = "كتاب" ، title="TO2 Poly" وnbCopyies=2.
(f) الطريقة المنطقية isEqual(Media el) التي ترجع true إذا كان هذا وel لهما وسائط وعنوان متطابق.
نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ عنوان السلسلة النهائي الخاص ؛ < فرع /> نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ دعم السلسلة النهائية الخاصة ؛ < فرع /> نبسب؛ نبسب؛ نبسب؛ نبسب؛ نبسب؛ نسخ int الخاصة ؛
(b) "getters" الثلاثة المناسبين.
(c) "واضع" ل nbExers.
(d) منشئ الوسائط (عنوان السلسلة ، دعم السلسلة) الذي تتطابق وسيطاته مع السمتين الأوليين والذي يحدد nbExtes = 1.
(e) تعرض طريقة الفراغ () التي تعرض Poly of TO2 (كتاب) x2 إذا كان الدعم = "كتاب" ، title="TO2 Poly" وnbCopyies=2.
(f) الطريقة المنطقية isEqual(Media el) التي ترجع true إذا كان هذا وel لهما وسائط وعنوان متطابق.
< نمط الامتداد = "اللون: # 141823 ؛" >2. في الفصل الرئيسي ، قم بإنشاء طريقة رئيسية لاختبار كل هذا. يجب إيلاء اهتمام خاص لاختبار estEgalA.
< / div>
< نمط الامتداد = "اللون: # 141823 ؛" >3. إنشاء فئة مكتبة وسائط تحتوي على
(a) قائمة صفيف< وسائل الإعلام> content.
(b) منشئ Mediatheque() يقوم بتهيئة السمة إلى صفيف فارغ.
(c) تضيف طريقة الفراغ (Media el) التي تلحق el بالمحتوى إذا لم يكن موجودا بالفعل ؛ إذا كانت موجودة بالفعل ، فيجب أن تزيد الطريقة من قيمة سمة nbExemplars.
(d) تعرض طريقة باطلة () تعرض جميع الوسائط في المجموعة ، واحدة لكل سطر.< / span>
(a) قائمة صفيف< وسائل الإعلام> content.
(b) منشئ Mediatheque() يقوم بتهيئة السمة إلى صفيف فارغ.
(c) تضيف طريقة الفراغ (Media el) التي تلحق el بالمحتوى إذا لم يكن موجودا بالفعل ؛ إذا كانت موجودة بالفعل ، فيجب أن تزيد الطريقة من قيمة سمة nbExemplars.
(d) تعرض طريقة باطلة () تعرض جميع الوسائط في المجموعة ، واحدة لكل سطر.< / span>
الكلمة الرئيسية < نمط span = "اللون: #741b47;" يشير > إلى أن عنصر المثيل الذي تم إنشاؤه لن يتغير أثناء التنفيذ، على سبيل المثال إذا تم إنشاء مثيل ثان من الوسائط، فإن السمات التي لم يتم تعيينها نهائيا للمثيل الأول ستتلقى قيم المثيل الثاني:
Media m1 = وسائط جديدة ("title1"، "support1")؛
Media m2 = وسائط جديدة ("title2" ، "support2") ؛
بعد العرض:
m1 (العنوان 2 ، الدعم 2)
m2 (العنوان 2 ، الدعم 2)
ملاحظة: انقر فوق < span style = "اللون: أحمر ؛" >عرض عادي< / سبان> للحصول على النص والقيام نسخ / لصق < br / >
< pre class = "prettyprint lang-java" > public class media {
عنوان السلسلة النهائي الخاص ؛
دعم السلسلة النهائية الخاصة ؛
int nbCopyies الخاصة ؛
} < / قبل >< / DIV >< DIV > B و C. الحاصلون الثلاثة وواضع ل nbCopyies
انقر بزر الماوس الأيمن --> المصدر --> إنشاء Getters و Setters.

public int getNbCopyies() {f. الطريقة المنطقية isEquals(Media el)
إرجاع nbCopyies;
}
الفراغ العام setNbCopyies(int nbCopyies) {
this.nbCopies = nbCopyies;
}
سلسلة عامة getTitre () {
عيار العودة ؛
}
سلسلة عامة getSupport () {
دعم العودة ؛
}< / قبل > د. المنشئpublic media(سلسلة العنوان، دعم السلسلة){e. طريقة العرض () < br / >
this.title = title;
this.support = الدعم ؛
nbCopies = 1 ؛
}
< pre class = "prettyprint lang-java" > void display() {
if (this.support == "كتاب" & & this.titre=="بولي دي TO2" & & this.nbEx(exte)==2)
System.out.print(this.title+ "(" + this.support+ ") x"+this.nbEx(eX));
}
boolean isEqualsA(Media el){
if( support==el.support & & العنوان == el.title) < br / > إرجاع صحيح ؛
إرجاع خاطئ ؛
}
2. إنشاء فئة main
< pre class = "prettyprint lang-java" > public class Main {
الفراغ الثابت العام الرئيسي (String [] args) {
// إنشاء ثلاث وسائط
مثيلات الوسائط m = الوسائط الجديدة ("title1" ، "support1") ؛
Media m2 = وسائط جديدة ("title2" ، "support2") ؛
Media m3 = وسائط جديدة ("title3" ، "support3") ؛
//اختبار المساواة
المنطقي 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 () +") لا يساوي الوسائط ("+ m2.getTitle () +" ، "+ m2.getSupport () + ")" ؛
/ ************************************
* فئة Médiathèque
* /
Médiathèque mt = New Médiathèque ();
//add
mt.add(m);
طن متري مضاف (م2);
طن متري مضاف (م2);
طن متري مضاف (م3);
// display
mt.display () ؛
}
}
< / pre>3. إنشاء Mediatheque
a. L'attirubt Arraylist< وسائل الإعلام> content
Arraylist عبارة عن مصفوفة لم يتم تعيينها في الحجم ، وميزتها أنها لا حصر لها ، وتحتوي على طرق محددة مسبقا مثل get and set ، أو البحث المتسلسل يحتوي على (عنصر) ، أو indexOf(element).
< وسائل الإعلام> يعني أن العناصر التي مخزون Arraylist الخاص بنا هي من نوع الوسائط. سيوفر لنا هذا من إجراء التحويل التالي: (الوسائط) ourList.get(index).
public class Media Library {b. المنشئ
ArrayListcontent;
}
Mediatheque(){c. تضيف الطريقة (Media el)
this.contenu = new ArrayList();
}
< pre class = "prettyprint lang-java" >void adds (Media el) {
if (!this.content.contains(el)))
this.content.add(el);
else{
/* إذا كان هناك بالفعل
* زيادة قيمة nbExemplar
*/
//index of el في القائمة
int index = this.content.indexOf(el);
//read السمة nbCopies و increment
int nbCopies = this.content.get(index).getNbCopyies() + 1;
//تحديث nbCopyies
System.out.println(this.content.get(index).getTitle());
this.content.get(index).setNbEx(nbEx)
}
}
< / pre>
d. تعرض الطريقة () < br / >
< pre class = "prettyprint lang-java" > void displays() {
for (Media media: this.contenu)
System.out.println(media.getTitre()+" "+media.getSupport()+" "+media.getNbCopyies());
}
< / pre>
الكود الكامل < span style = "اللون: #0b5394;" >Media.java: < / span >
< span style = "اللون: #0b5394 ؛" >
< / span >< pre class = "prettyprint lang-java" > public class media {
عنوان السلسلة النهائي الخاص ؛
دعم السلسلة النهائية الخاصة ؛
int nbCopyies الخاصة ؛
الوسائط العامة (عنوان السلسلة ، دعم السلسلة) {
this.title = title ؛
this.support = الدعم ؛
nbCopies = 1 ؛
}
عرض فارغ () {
if (this.support == "كتاب" & & this.titre=="بولي دي TO2" & & this.nbEx(exte)==2)
System.out.print(this.title+ "(" + this.support+ ") x"+this.nbEx(eX));
}
منطقية isEqualsA(Media el){
if( support==el.support & & العنوان == el.title) < br / > إرجاع صحيح ؛
إرجاع خاطئ ؛
}
int publicn getNbCopyies () {
إرجاع nbCopyies ؛
}
الفراغ العام setNbCopyies(int nbCopyies) {
this.nbCopies = nbCopyies;
}
سلسلة عامة getTitre () {
عيار العودة ؛
}
سلسلة عامة getSupport () {
دعم العودة ؛
}
}
< / pre>Mediatheque.java< / span >
< span style = "اللون: #0b5394 ؛" >
import java.util.ArrayList;
مكتبة وسائط الطبقة العامة {
ArrayListcontent;
Media Library(){
this.contenu = New ArrayList();
}
void adds(Media el){
if(!this.content.contains(el)))
this.content.add(el);
else{
/* إذا كان هناك بالفعل
* زيادة قيمة nbExemplar
*/
//index of el في القائمة
int index = this.content.indexOf(el);
//read السمة nbCopies و increment
int nbCopies = this.content.get(index).getNbCopyies() + 1;
//تحديث nbCopyies
System.out.println(this.content.get(index).getTitle());
this.content.get(index).setNbEx(nbEx)
}
}
عرض باطل () {
for (وسائط الإعلام: this.content)
System.out.println(media.getTitle()+" "+media.getSupport()+" "+media.getNbCopyies());
}
}
< / media>< / media>< / pre>
main.java< / span >
< span style = "اللون: #0b5394 ؛" >
< / span >< pre class = "prettyprint lang-java" > public class main {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
// إنشاء ثلاث وسائط
مثيلات الوسائط m = وسائط جديدة ("title1" ، "support1") ؛
Media m2 = وسائط جديدة ("title2" ، "support2") ؛
Media m3 = وسائط جديدة ("title3" ، "support3") ؛
//اختبار المساواة
المنطقي 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 () +") لا يساوي الوسائط ("+ m2.getTitle () +" ، "+ m2.getSupport () + ")" ؛
/ ************************************
* فئة Médiathèque
* /
Médiathèque mt = New Médiathèque ();
//add
mt.add(m);
طن متري مضاف (م2);
طن متري مضاف (م2);
طن متري مضاف (م3);
// display
mt.display () ؛
}
} < / قبل >< / div>