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

مشكلة في قراءة جمله من textfiled باستخدام netbeans

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

السلام عليكم

عندي مشروع مطلوب تسليمه هذا الترم واجهتي مشكلة في ربط الـ interface مع source code

المشروع هو عبارة عن برنامج المستخدم يسأل سؤال ووبعدهذا النظام يبدا بالبحث عن الاجابة في text file ويسترجع الاجابة للمستخدم

واما بالنسبة للواجهة فالمستخدم يكتب السؤال في text field و من ثم يضغط على زر البحث ...بعد ذلك النظام سوف يبحث في الملف المخزن ويسترجع الاجابه ويطبعها في text area

البرنامج يعمل جيدا بدون الانترفيس ولكن عندما احذف اوامر system.out.printIn و redLine لأنها استبدلت بال textfiled و دالة getText()

في هذه الحالة لايعمل البرنامج بشكل صحيح وكأنة لم يخزن السؤال ,,البرنامج ينفذ Exception ويطبع انه لايوجد اجابه لهذا السؤال مع انه كما ذكرت يعمل جيدا بدون الانترفيس

هذا هو source code يالشكل الظاهر

------------------------------------------

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

try

{

String s="";

s=jTextField1.getText();

QuestionAnalyzer Q=new QuestionAnalyzer();

Q.Tokenizer(s);

AnswerFinder a=new AnswerFinder();

a.sentenceRetrieval();

a.returnAnswer();

}

catch(Exception e)

{

String message = " \n"

+ "\n" + "\n" + "\n" +"لايوجد جواب لهذا النوع من الاسئلة";

JOptionPane pane = new JOptionPane(message);

JDialog dialog = pane.createDialog(new JFrame(), "خطأ");

dialog.show();

}

}

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

}

public static void main(String args[]){

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new qasUI().setVisible(true);

}

});

}

// Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JDialog jDialog1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTextArea jTextArea1;

private javax.swing.JTextField jTextField1;

// End of variables declaration

class QuestionAnalyzer

{

//--------------------------------------------------------------------------

private String verb;

//..etc declartions

//--------------------------------------------------------------------------

public void Tokenizer(String t) throws IOException

{

StringTokenizer st=new StringTokenizer(t);

String FirstTok=new String(st.nextToken());

//--------------------------------------------------------------------------

if(! "".equals(FirstTok))

{

if(( !"why".equals(FirstTok))&& ( !"who".equals(FirstTok))

{

String message = " \n"

+ "\n" + "\n" + "\n" +"صياغة السؤال خاطئة للمزيد من المعلومات اضغط على زر مساعدةة";

JOptionPane pane = new JOptionPane(message);

JDialog dialog = pane.createDialog(new JFrame(), "خطأ");

dialog.show();

}

public class AnswerFinder extends QuestionAnalyzer

{

void sentenceRetrieval throws IOException (){

f1();//invoke f1

}

void f1() throws IOException (){

f1();//invoke f1

}

void returnAnswer throws IOException (){

}

#2

الكود غير منظم

وهناك العديد من class لا نعلم ماذا تفعل

لذلك ممكن تنزلى المشروع ونشوف الحل

انا عن نفسى لا املك ان احل المشكله هكذا

ممكن احد اخر يحل المشكله

ولكن اختى لم تحددى ما نوع exception ?

حاولى تساعدينا كى نساعدك ان شاء الله

Software Developer
Mahmoudkelany.com


 

#3
String s="";

يجب ان تعرفى هذا المتغير S فى بداية الفئة CLASS

لانها بهذا الشكل مش تقدرى تستخدميه خارج هذا البلوك

جربة كدة تاخدة الجملة دى CUT و تكتبيها فى بداية الكلاس

و ياريت تنظمى المود فى مشاركتك اختى الكريمة

00020309t.gif

1958_1963.gif
#4
اسراء شلبى كتب:

String s="";

يجب ان تعرفى هذا المتغير S فى بداية الفئة CLASS

لانها بهذا الشكل مش تقدرى تستخدميه خارج هذا البلوك

جربة كدة تاخدة الجملة دى CUT و تكتبيها فى بداية الكلاس

و ياريت تنظمى المود فى مشاركتك اختى الكريمة

ما هو الـ S

لم تستخدم الا فى هذا المكان فقط

try
{

String s="";
s=jTextField1.getText();
QuestionAnalyzer Q=new QuestionAnalyzer();
Q.Tokenizer(s);

AnswerFinder a=new AnswerFinder();
a.sentenceRetrieval();
a.returnAnswer();
}

كدا لم نحل المشكله بعد

على العموم جربى و بعد ذلك عليكى تنظيم الكود بعد اذنك

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#5

شكرا لتفاعلكم السريع لم اتوقع ان يكون الرد بهذه السرعه ,,,شكرا جزيلا

أخ Eng.Hamzawy

أنا لا استطيع نشر الكود بشكلة الحقيقي , أولا,لأنه مشروع تخرج وهذا ممنوع وثانيا لأنه لن يكون لأحد الوقت لقراءته فهو طويل جدا جدا

اختي اسراء

اشكر لك محاولتك مساعدتي لكن لأأجد فائده من ذلك لأن s مرر كـ parameter للداله tokenizer وهو معرف بداخلها

فما الفائده من تعريفه مره اخرى؟

#6
مبرمجة العالم كتب:

شكرا لتفاعلكم السريع لم اتوقع ان يكون الرد بهذه السرعه ,,,شكرا جزيلا

أخ Eng.Hamzawy

أنا لا استطيع نشر الكود بشكلة الحقيقي , أولا,لأنه مشروع تخرج وهذا ممنوع وثانيا لأنه لن يكون لأحد الوقت لقراءته فهو طويل جدا جدا

اى نعم

افهمك

ممكن تقولى لينا ايه نوع exception ممكن نعرف منه الخطا ؟

حكايه القراءه

طبعا لا يوجد من يقراه كاملا ولكن المشكله سوف تكمن فى اجزاء معينه فى ذلك الوقت عليه قرائتها

اوك حاولى اختى الكريمه

وان لم تجدى فائده فبامكانك ان ترسلى الى حد الاعضاء او المشرفين الذى تتوسمى فيهم ان يساعدوكى ترسلى اليهم المشروع

وان شاء الله المشكله تتحل ف اقرب وقت

وممكن احد الاعضاء يفيدنا بمشكله ممكن تكون واجهته قبل ذلك فى كود شبيه بهذا

لكن عليكى انت تذكرى ماذا يحدث وما نوع الـ exception

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#7
Q.Tokenizer(s);

لم انتبه الى هذا السطر اختى

00020309t.gif

1958_1963.gif
#8

السؤال غير واضح :) نحتاج للمزيد من المعلومات حتى نساعدك ، اضافة الى أن الاجابة ترث من السؤال هذا تصميم غير جيد :

 AnswerFinder extends QuestionAnalyzer

على العموم أضف trim عند الحصول على النص:

s=jTextField1.getText().trim() ;

فربما يكون هناك مسافة في أول الText Field ..

بالتوفيق،

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 7 يونيو 2010 في 21:51

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#9

مساعدتك غير ممكنة لأنك لم تضعي الشيفرة كاملة حتى نستطيع تشغيل البرنامج والتجريب

ولم تضعي يدك على الخطأ الذي يمكن حصوله فتضعي لنا مقطع من الشيفرة فنوجهك

لذا حاولي أن تجدي طريقة أخرى لأن الوضع الحالي يعني أن تنتظري بدون فائدة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

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