سؤال

يمكنني معرفة كيفية إنشاء جنسيات من السلسلة ، لكنني لا أعرف كيف يمكنني مقارنتها بقاموس الكلمات الحقيقية للتحقق مما إذا كان الجنوس كلمة حقيقية. هل يوجد فصل في API Java يحتوي على القاموس الإنجليزي بأكمله؟

هل كانت مفيدة؟

المحلول

لا ، ولكن يمكنك الحصول على قائمة ولفات من أماكن متعددة. من هناك ، يمكنك قراءة ملف Wordlist في قائمة:

List<String> lines = new ArrayList<String>();
BufferedReader in = new BufferedReader(new FileReader("wordlist.txt"));
String line = null;
while (null!=(line=in.readLine()))
{
   lines.add(line);
}
in.close();

وأخيرا بحث ثنائي استعمال lines.contains() لكلمة المرشح.

نصائح أخرى

إحدى الطرق لتحديد ما إذا كانت مجموعة الأحرف عبارة عن جنسية لكلمة ما تتضمن استخدام الأرقام الأولية. قم بتعيين كل حرف رقم أولي ، على سبيل المثال ، a = 2 ، b = 3 ، c = 5 ، d = 7. الآن precompute منتج الأعداد الأولية لكل كلمة في القاموس الخاص بك. على سبيل المثال ، "إضافة" = 2*7*7 = 98 ، أو "سيئة" = 3*2*7 = 42.

الآن تحديد ما إذا كان يمكن إجراء مجموعة من الحروف بمثابة جنسي من أي كلمة في القاموس يمكن القيام به عن طريق حساب قيمة مجموعة الحروف. على سبيل المثال ، الحروف 'ABD' = 2*3*7 = 42 = 'BAD'. فقط تحقق مما إذا كانت القيمة المحسوبة للرسائل موجودة في القاموس المحسوب. لأي جنسي ، تحتاج فقط إلى القيام بهذا الحساب مرة واحدة مقابل محاولة إنشاء كل جنسيق ممكن. ملاحظة ، ومع ذلك ، لن تعمل هذه الطريقة بشكل جيد فقط بالنسبة للكلمات الصغيرة نسبيًا ، وإلا فإنك ستواجه مشكلات في التدفق المفرط وتحتاج إلى استخدام BigInteger.

لا ، عليك استخدام مكتبة خارجية ، مثل JWNL, ، وهو غلاف لـ WordNet - قاعدة بيانات معجمية قابلة للقراءة الآلي منظمة حسب المعاني, ، هذا يحتوي على كل كلمة إنجليزية إلى حد كبير.

ربما القاموس الإنجليزي في جازي يستطيع مساعدتك.

لا يوجد فئة متخصصة في مكتبة Java القياسية ، ولكن يمكنك استخدام أي تطبيق تريده من تعيين واجهة وتهيئتها عن طريق تحميلها بكلمات اختيارك ، التي تم اختيارها من أي من لا حصر لها قوائم الكلمات يمكنك العثور على العديد من الأماكن (فقط تحقق من أن ترخيص قائمة الكلمات التي تختارها متوافق مع تطبيقك المقصود ، على سبيل المثال ، هل يسمح بالاستخدام التجاري ، وتطبيقات المصدر المغلقة إذا كان هذا ما تحتاجه ، وما إلى ذلك).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top