في هذا السياق، يظهر أنك تحاول إنشاء كائن من الفئة NewClass2
باستخدام قائمة listTest
كوسيط. ومع ذلك، يبدو أن لديك فقط بناء فئة NewClass2
الذي يأخذ معاملات فقط، وليس لديك بناء يأخذ قائمة كمعلمة.
لحل هذه المشكلة، يمكنك إما إضافة بناء إضافي لفئة NewClass2
الذي يأخذ قائمة كمعلمة، أو يمكنك تعديل الفئة الحالية لتقبل قائمة كمعلمة. فيما يلي كيفية تحديث الفئة NewClass2
لتقبل قائمة:
javaimport java.util.ArrayList;
public class NewClass2 {
int pages;
String released;
String title;
int isbn;
// ... الأساليب الحالية
public NewClass2(ArrayList list) {
// يمكنك تنفيذ ما تحتاجه هنا، على سبيل المثال، تعيين الخصائص أو غيرها
// في هذا المثال، سنقوم بطباعة معلومات الكتب في القائمة
for (NewClass2 book : list) {
System.out.println("Book Title: " + book.getTitle());
System.out.println("Released Date: " + book.getReleased());
System.out.println("Number of Pages: " + book.getPages());
System.out.println("ISBN: " + book.getIsbn());
System.out.println("------------------------");
}
}
// باقي الأساليب
}
ثم يمكنك استخدامه في الفئة الرئيسية كما في المثال الخاص بك:
javaimport java.util.ArrayList;
public class mainClass {
public static void main(String[] args) {
ArrayList listTest = new ArrayList<>();
listTest.add(new NewClass2(200, "Book 1", "8.9.14", 2222));
listTest.add(new NewClass2(200, "Book 2", "1.2.04", 5555));
listTest.add(new NewClass2(200, "Book 3", "5.4.06", 6666));
listTest.add(new NewClass2(200, "Book 4", "7.4.13", 7777));
listTest.add(new NewClass2(200, "Book 5", "2.2.03", 8888));
// قم بإنشاء كائن من NewClass2 بواسطة القائمة
NewClass2 bookList = new NewClass2(listTest);
}
}
بهذا الشكل، يمكنك إنشاء كائن NewClass2
باستخدام القائمة والتي ستقوم بطباعة معلومات الكتب الموجودة في القائمة.
المزيد من المعلومات
في مشروعك الحالي، تقوم بتعريف فئة NewClass2
لتمثيل معلومات الكتب، حيث تحتوي الفئة على متغيرات لعدد الصفحات، تاريخ الإصدار، عنوان الكتاب، ورقم ISBN. تم تنظيم الفئة بشكل صحيح باستخدام أساليب get
و set
للوصول وتعيين قيم هذه المتغيرات.
من جهة أخرى، في فئة mainClass
، قمت بإنشاء قائمة listTest
التي تحتوي على عدة كتب من نوع NewClass2
. هنا تظهر محاولتك لإنشاء كائن NewClass2
باستخدام هذه القائمة باستخدام البناء التالي:
javaNewClass2 book = new NewClass2(listTest);
ومع ذلك، يتم توقع أن يتم إنشاء كائن NewClass2
باستخدام بناء يأخذ معاملات من نوع int
, String
, و ArrayList
، ولكن البناء الحالي يأخذ معاملات فقط من النوع int
, String
, و int
.
لحل هذا، يمكنك تحديث بناء NewClass2
ليأخذ ArrayList
كمعامل، أو يمكنك إنشاء بناء جديد يأخذ هذا النوع من المعاملات.
هذا مثال على كيفية تحديث بناء NewClass2
:
javapublic NewClass2(ArrayList list) {
// يمكنك تنفيذ ما تحتاجه هنا، على سبيل المثال، تعيين الخصائص أو غيرها
// في هذا المثال، سنقوم بطباعة معلومات الكتب في القائمة
for (NewClass2 book : list) {
System.out.println("Book Title: " + book.getTitle());
System.out.println("Released Date: " + book.getReleased());
System.out.println("Number of Pages: " + book.getPages());
System.out.println("ISBN: " + book.getIsbn());
System.out.println("------------------------");
}
}
هذا التحديث يسمح لك بإنشاء كائن NewClass2
باستخدام القائمة listTest
بشكل صحيح.
يرجى متابعة بناء مشروعك وتحديثه بمزيد من الوظائف حسب احتياجاتك، مثل إضافة ميثودز لتعديل المعلومات أو إضافة كتاب جديد للقائمة.