لو اردت طباعة برنامج بلغة جافا ياخذ مجموعة من المدخلات Inputs من المستخدم ولا تظهر على شاشة العرض الا عند الانتهاء من كتابة المدخلات …
عدد المدخلات لانهائي يتوقف عند ادخال كلمة فارغة
بعد ادخالها يقوم البرنامج بإغلاق نافذة الحوار و طبع الكلمات السابقة
ارجو المساعدة و شكرا
الحزمة المستخدمة هي
import javax.swing.JOptionPane;
شاشة العرض تظهر من الامر
String name = JOptionPane.showInputDialog()
حصرا
شكرا لكم
ارجو مساعدتي لان الأمر مهم بالنسبة لي جدا
شكرا
السلام عليكم
أرجو مساعدتي لان هذا البرنامج جزء من برنامج يتوجب تسليمه نهاية الاسبوع
انا حاولت كثييرا ولم استطيع حل المشكلة
import javax.swing.JOptionPane;
class Names {
public static void main ( String [ ] args)
{ String One = “” ;
while (true)
{ String s = JOptionPane.showInputDialog ("the word " ) ;
String Tow = One + “\n” + s ;
System.out.println( Tow );
if ( s== “”)
break ;
}
}
}
البرنامج يقوم بالطباعة كلمة كلمة و امر break ; لا ينفذ ( المطلوب مجموعة كلمات تنهي عندما يضيف اليوزر فراغ ثم يقوم البرنامج باظهار كل كلمة في سطر )
ارجو المساعدة … هذه الخطوة الاولى لي بالبرمجة ولو لم استطيع تجاوزها حتما سأغير كل الاختصاص
انا المطلوب مني برنامج بلغة جافا … و نحن طلاب السنه الاولى ممنوع استخدام اي تعليمات او مكتبات خارجية
لذلك يجب استخدام
import javax.swing.JOptionPane;
حصرا
ما قمت به موجود هنا :
البرنامج فيه طلبات متعددة منها :
ادخال مجموعة كلمات من اليوزر … تنتهي عندما يدخل اليوزر كلمة فراغ " "
عندها يغلق مربع الحوار )InputDialog ( يقوم البرنامج بطباعة كل الكلمات دفعة واحدة
انا برنامجي يعمل من دون أخطاء ولكن فيه مشكلتين جوهرتين بالنسبة للطلب :
الاولى : الطباعة تتم كلمة كلمة … والمطلوب لا تظهر شاشة الطباعة الا عند ادخال كلمة فارغة عندها يقوم البرنامج باظهار الشاشة وفيها كل الكلمات …
أعرف انه يجب استخدام String تكون حاوية للكلمات المدخلة … و ربما احتاج مصفوفة ( لم استطيع انشاء مصفوفة لان عدد الكلمات غير معروف حتى لو كتبا m غير معروف و البرنامج لم يقبل هذا الشيء لانها داخل حلقة for غير منتهية )
المشكلة الثانية : الأمر break; لا يعمل …
أرجو المساعدة بسرعة لان يوجد عندي الكثير من العمل مرتبط بهذا البرنامج
و لا يوجد عندي الوقت
وشكرا
عدلت على البرنامج السابق و اصبح كما يلي
لكن امر التوقف لا يعمل …
و الطباعة تكون كالتالي : الكلمة الاولى ثم … الاولى والثانية … ثم الاولى والثانية والثالثة و هكذا
و المطلوب هو مجموعة واحدة من الكلمات
import javax.swing.JOptionPane;
public class Name {
public static void main(String[] args) {
String S1 = "";
String M;
do {
M = JOptionPane.showInputDialog("word");
System.out.println(S1);
S1 += "\n" + M;
} while (!M.equals("")); // هنا تم تغيير الكود بحيث يتوقف عند وضع جملة فارغة
}
}
يفضل دائما عند مقارنة النصوص استخدام equals بدلا عن المساواة
ويفضل أيضا بيئة تطوير قوية مثل Netbeans لأنه سيقترح بعض الاصلاحات في الكود مما يختصر من وقت تطوير البرامج .
أما بالنسبة لكتابة مجموعة واحدة من الكلمات يكفي وضع جملة الطباعة بعد انتهاء while بحيث يصبح الكود هكذا :
import javax.swing.JOptionPane;
public class Name {
public static void main(String[] args) {
String S1 = "";
String M;
do {
M = JOptionPane.showInputDialog("word");
S1 += "\n" + M;
} while (!M.equals(""));
System.out.println( S1); // هنا تم تغيير مكان جملة الطباعة لتقوم بطباعة المتغير بعد الانتهاء من عملية جمع المدخلات
}
}
شكرا على المساعدات المغيدة
لو كان شرط التوقف … المسافة " " او اقصى عدد الكلمات هو 10 مثلا
سنغير ال loop
كتبت برنامج صغير ولكن لا يتوقف عند الكلمة العاشرة … ما الخطا
شكرا لكم
لقد استفدت جدا من ملاحظتكم
جزالكم الله خير
بالنسبة للسؤال الاخير الحمد لله عرفت الجواب
عملت حلقة for لل 10 و عملت break عند المسافة واشتغل البرنامج