الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Item Can not be added since the array is full

بدأه ريشة فنانة في 10 أكتوبر 2010 · 2 رد · 349 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أرجو مساعدتي في حل هذه المشكلة في البرمجة

عندما أقوم بفتح الملف بأسم ShoppingListDemo

يظهر لي العبارة التالية عوضا عن قائمة المشتريات

Item Can not be added since the array is full

Item Can not be added since the array is full

Item Can not be added since the array is full

Item Can not be added since the array is full

Item Can not be added since the array is full

Item Can not be added since the array is full

أرجو مساعدتي في كيفية تصحيح الأخطاء وفقكم الله

تم أرفاق السورس فايل للبرنامج وعددهم 4 ثلاثة في الملفات المرفقة

وهذا الرابع

http://www.m5zn.com/files-101010021058op9xapc7u6i07pa1q9qf-shopping.dat

الامر المستخدم للكومابيل

javac *.java

لفتح البرنامج

java ShoppingListDemo

المثال المطلوب تطبيقه هو التالي :

Options:

======================

1. Add/Increase Item

2. Output List

3. Output Total Cost

4. Save List

0. Quit

======================

Enter Choice:2

Item Cost Quantity Description

==================================================

1.99 2 Asparagus

4.28 1 Korn Flakes

2.10 4 Chips

3.99 2 Toilet Paper

0.50 4 Corn

1.70 1 Dip

==================================================

Options:

======================

1. Add/Increase Item

2. Output List

3. Output Total Cost

4. Save List

0. Quit

======================

Enter Choice:1

Enter Description: dip

Enter Cost: $1.65

Enter Quantity: 1

Options:

======================

1. Add/Increase Item

2. Output List

3. Output Total Cost

4. Save List

0. Quit

======================

Enter Choice: 2

Item Cost Quantity Description

==================================================

1.99 2 Asparagus

4.28 1 Korn Flakes

2.10 4 Chips

3.99 2 Toilet Paper

0.50 4 Corn

1.65 2 Dip

==================================================

Options:

======================

1. Add/Increase Item

2. Output List

3. Output Total Cost

4. Save List

0. Quit

======================

Enter Choice: 3

Total Cost: $29.94

Options:

======================

1. Add/Increase Item

2. Output List

3. Output Total Cost

4. Save List

0. Quit

======================

Enter Choice:

0

The shopping list has changed since last saved.

Do you wish to save changes? (y/n):

y

%

Updated contents of dat file

turing % cat shopping.dat

1.99 2 Asparagus

4.28 1 Korn Flakes

2.10 4 Chips

3.99 2 Toilet Paper

0.50 4 Corn

1.65 2 Dip

Item.java

ShoppingList.java

ShoppingListDemo.java

#2

المشكلة في التابع addItem، عند الشرط

if(items.length < countItems)

، لأن الـ items هي عبارة عن مصفوفة أي حجمها محجوز فهنا لن يتحقق الشرط لأن items.length هو 100 والمتحول countItems قيمته البدائية 0.

يمكنك استخدام الـ ArrayList أو إيجاد حل آخر طالما تحددت المشكلة.

ملاحظة: المصفوفة items عناصرها من نمط Items لذلك لا يوجد داعي لعمليات القصر في الأسطر التالية:

((Item)items[index]).setCost(cost);
            	((Item)items[index]).setDescription(descr);
            	((Item)items[index]).setQuantity(quan);
#3

في الطريقة addItem

items.length تابثة، حيث تساوي دائما 100، وبالتالي لن يتحقق الشرط

if(items.length < countItems)

الشرط الذي يجب وضعه هو التحقق من أن countItems، أي عدد ال items التي تمت إضافتها، أصغر من maxItems، وهو عدد ال items المسموح به

if(countItems < maxItems)

تم تعديل هذه المشاركة بواسطة herch في 10 أكتوبر 2010 في 15:30

مواضيع مشابهة