ورود

View Full Version : Help me



ehsan_savadkohi
چهارشنبه 25 اردیبهشت 1392, 08:01 صبح
سلام به اساتید برنامه ونویس:
میخواهم یه برنامه Splling Checker بنویسم.
به این صورت که کاربر یک متن را وارد میکند.این متن از یکدیگر جدا میشوند. و هریک در آرایه با کلمات صحیح مقایسه شوند .و کلامات صحیح پیدا شده در جلو کلمات قبلی نوشته شود.
کل این برنامه به این صورت است.که عرض شد.حالا:
من تا جدا کردن کلمات و نمایش آنها پیش رفتم. ولی بحث مقایسه تک تک کلمات در آرایه را نمیدانم به چه شکل پیاده سازی کنم. از شما دوستان تقاضا دارم کمکم کنید.

yegane8
پنج شنبه 26 اردیبهشت 1392, 13:56 عصر
اگر پروژه در حد کلان است یعنی می خوایی واقعا می خوایی یک spelling checker بنویسی حتما نیاز به یه دیتابیس بزرگ یا حداقل فایل داری ولی در حد مقایسه چندتا کلمه محدود می تونی تو کلمه ها رو تو ارایه و... بریزی
در هز صورت متد هات : چک کردن و ... فرق زیادی ندارند
واسه اینکه تعداد کلمه ها ی غلط رو پیدا کنی می تونی از این استفاده کنی :
public void actionPerformed( ActionEvent event )
{
int numWrongWord=0;
String stringToTokenize = event.getActionCommand();
StringTokenizer tokens = new StringTokenizer( stringToTokenize );
Scanner input = new Scanner(event.getActionCommand());
while (input.hasNextLine()) {
String[] values = input.nextLine().split(" ");//values separated by
numWrongWord = tokens.countTokens() - check(values);
}
outputArea.setText( "تعداد کلمات: " + tokens.countTokens() + "\t\tتعداد کلمات نادرست :"+" " +numWrongWord+" "+"\nکلمات شما:\t\tاملای صحیح کلمات\n" );

while ( tokens.hasMoreTokens() ){
mytext=tokens.nextToken();
outputArea.append( mytext + "\n" );
}

}
} // end anonymous inner class
); // end call to addActionListener

من تا جدا کردن کلمات و نمایش آنها پیش رفتم. ولی بحث مقایسه تک تک کلمات در آرایه را نمیدانم به چه شکل پیاده سازی کنم. از شما دوستان تقاضا دارم کمکم کنید.

public int check(String[] value){
int numberOfCorrectWord = 0;
for(int i=0;i<value.length;i++){
for(int j=0;j<dict.length;j++)
if(value[i].equals(dict[j])==true){
numberOfCorrectWord++;

}
}
واسه املای صحیح کلمات غلط هم حتما نیاز به یه فایل یا دیتابیس داری که مثلا با یه Btree بیایی ببینی کدوم کلمه تو این درخت به کلمه غلط نوشته شده بیشتر شبیه
اگه راه حل بهتری واسه این قسمت پیدا کردی اینجا بزار

ehsan_savadkohi
جمعه 27 اردیبهشت 1392, 13:10 عصر
سلام مجدد....دوست عزیز

تا اینجا درست...
حالا در همین حین کلمه مورد نظر را چک کند وکه اگه درست بود نشان دهد با پیغام و اگه نادرست بود یه پیغام بده و نشون بده که کدوم حروفش مشکل داره و بازم نشون بده. و اگه امکانش هست یه کلمه را هم پیشنهاد بده

azamkazemi
پنج شنبه 16 خرداد 1392, 22:33 عصر
سلام
public int check(String[] value){
int numberOfCorrectWord = 0;
for(int i=0;i<value.length;i++){
for(int j=0;j<dict.length;j++)
if(value[i].equals(dict[j])==true){
numberOfCorrectWord++;

}
}این تیکه کد را باید کجا بنویسم؟؟؟