تنسيق الاسم في حالة العنوان، مساعدة جافا من فضلك؟

StackOverflow https://stackoverflow.com//questions/12656941

  •  11-12-2019
  •  | 
  •  

سؤال

لذلك لا بد لي من كتابة كود جافا إلى:

  • أدخل اسمًا
  • تنسيق الاسم في حالة العنوان
  • إدخال الاسم الثاني
  • تنسيق الاسم في حالة العنوان
  • عرضها بالترتيب الأبجدي

أعلم أن فئة Java Character تحتوي على الأساليب isLowerCase() وisUpperCase وtoLowerCase() وtoUpperCase()، والتي يمكنك استخدامها في مراجعة سلسلة حرفًا تلو الآخر.إذا كان الحرف الأول صغيرًا، فقم بتحويله إلى أحرف كبيرة، ولكل حرف تالٍ، إذا كان الحرف كبيرًا، قم بتحويله إلى أحرف صغيرة.

السؤال هو كيف أتحقق من كل حرف؟ما هو نوع المتغيرات والسلاسل التي يجب أن تحتوي عليها؟يمكنك الرجاء المساعدة؟

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

المحلول

يجب عليك استخدام StringBuilder، حيث يتناول التعامل مع التلاعب بالسلسلة .. بهذه الطريقة، تنتهي بك الأمر بإنشاء عدد أقل من الكائنات .. giveacodicetagpre.

نصائح أخرى

يمكنك تحويل الحرف الأول إلى الأحرف الكبيرة، ثم أحرف صغيرة ما تبقى من السلسلة: giveacodicetagpre.

ل Traversing Strings باستخدام فئة السلسلة فقط، تكرر من خلال كل حرف في سلسلة. giveacodicetagpre.

هذا السؤال إجابات كيفية "تغيير" سلسلة - لا يمكنك ذلك. توفر فئة StringBuilder أساليب مريحة لتحرير الأحرف في مؤشرات محددة على الرغم من ذلك.

يبدو وكأنه تريد التأكد من أن جميع الأسماء يتم رسمتها بشكل صحيح، على سبيل المثال: "Martin YE" -> "Martin Ye"، وفي هذه الحالة، سترغب في اجتياز إدخال السلسلة للتأكد من الحرف الأول لل السلسلة والشخصيات بعد الاستفادة من الفضاء.

للحصول على قائمة أبجديا، أقترح تخزين جميع الأسماء المطبوعة على قائمة صفيف أو بعض المجموعات الأخرى، وإنشاء مقارنة يقوم بتنفيذ المقارنة، ويمرر ذلك إلى مجموعات. عرض () //stackoverflow.com/questions/2266827/When-USTO-COSPAR-VS-VS-Comparator"> هذا السؤال حول المقارنة مقابل المقارنة.

يجب أن إصلاحه giveacodicetagpre.

String لديه طريقة toCharArray التي ترجع المخصصة حديثا char[] من شخصياتها.تذكر أنه في حين Stringهي غير قابل للتغيير, ، يمكن إعادة تعيين عناصر المصفوفات.

بصورة مماثلة، String لديه منشئ هذا يأخذ char[] يمثل شخصيات تم إنشاؤها حديثًا String.

لذلك، عند الجمع بين هذه العناصر، يكون لديك طريقة واحدة للوصول من أ String إلى أ char[], ، تعديل char[], ، والعودة إلى جديد String.

ويمكن تحقيق ذلك بأي عدد من الطرق، ومعظمها سوف يتلخص في تفاصيل المتطلبات.

لكن الفرضية الأساسية هي نفسها. String غير قابل للتغيير (لا يمكن تغيير محتوياته)، لذا عليك استخراج أحرف الملف String, ، قم بتحويل الحرف الأول إلى أحرف كبيرة وأعد إنشاء حرف جديد String من char مجموعة مصفوفة.

وكما سبقت الإشارة إليه، فإن هذا أمر بسيط نسبيا.

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

وهنا مثال بسيط جدا.

String name = "this is a test";
String[] parts = name.split(" ");
StringBuilder sb = new StringBuilder(64);
for (String part : parts) {
    char[] chars = part.toLowerCase().toCharArray();
    chars[0] = Character.toUpperCase(chars[0]);

    sb.append(new String(chars)).append(" ");
}

name = sb.toString().trim();
System.out.println(name);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top