JavaRush /مدونة جافا /Random-AR /سؤال وجواب: كيفية تحويل السلسلة بشكل صحيح إلى int في Java...

سؤال وجواب: كيفية تحويل السلسلة بشكل صحيح إلى int في Java؟

نشرت في المجموعة
المستوى التقريبي للمعرفة المطلوبة: مهمة Java Syntax والقليل من Java Core.
سؤال وجواب: كيفية تحويل String إلى int في Java بشكل صحيح؟  - 1
في نهاية مهمة JavaRush الأولى، نتعرف على تحويل النوع. في محاضرات المستوى 10، يمكنك أن ترى أن التحويل intإلى Stringأمر بسيط للغاية، وبشكل عام، يمكن تحويل أي نوع بدائي تقريبًا Stringدون مشاكل.
int x = 5;
String text = "X=" + x;
أيضًا، أولئك الذين أكملوا بالفعل المستوى 10 من مهمة Java Syntax يعرفون أنه من المستحيل تحويل مرجع إلى رقم إلى مرجع إلى سلسلة. إذن ما هي أفضل طريقة لتحويل سلسلة إلى عدد صحيح بدائي؟ من الأفضل القيام بذلك باستخدام طريقة parseIntالفصل Integer. يجب أن تقوم الطريقة parseIntبالتحويل Stringإلى intوطرح استثناء NumberFormatExceptionإذا تعذر تحويل السلسلة إلى كتابة int.

مثال

السطر الأساسي الذي يحول السلسلة إلى عدد صحيح:
int i = Integer.parseInt (myString);
إذا كانت السلسلة التي يشير إليها المتغير myStringعددًا صحيحًا صالحًا، مثل "1" أو "200"، فستقوم Java بتحويلها بهدوء إلى نوع بيانات بدائي int. إذا فشل هذا لسبب ما، فقد يؤدي هذا الإجراء إلى حدوث استثناء NumberFormatException، لذا لكي يعمل البرنامج بشكل صحيح لأي سلسلة، نحتاج إلى المزيد من التعليمات البرمجية. برنامج يوضح طريقة التحويل Java Stringالى int, التحكم بامكانية NumberFormatException:
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      System.out.println("int i = " + i);
    }
    catch (NumberFormatException nfe)
    {
      System.out.println("NumberFormatException: " + nfe.getMessage());
    }
  }

مناقشة

عندما تدرس المثال أعلاه، سترى أن الطريقة Integer.parseInt (s.trim ())تُستخدم لتحويل سلسلة sإلى عدد صحيح i، ويحدث هذا في السطر التالي من التعليمات البرمجية:
int i = Integer.parseInt (s.trim ())
لكن في بعض الأحيان لن ينجح تحويل سلسلة إلى رقم. في مثالنا، مثل هذه السلسلة هي الاسم فريد. يمكننا التحدث عن الرموز التي يتم فيها كتابة الحروف على جهاز كمبيوتر، ولكن، من الناحية الرسمية، فريد ليس رقما، ومن الأفضل تركه كسلسلة. تم تصميم برنامجنا بحيث إذا حاولت تحويل "fred" إلى رقم، فإن العملية Integer parseIntستطرح استثناءً NumberFormatException، والذي يجب عليك التعامل معه في كتلة try / catch. في هذه الحالة ليس عليك استخدام طريقة trim ()الفصل String، ولكن في البرمجة الحقيقية يجب عليك استخدامها. لذلك أظهرناها لك. نظرًا لطرح هذا الموضوع، إليك بعض "التلميحات" حول موضوع الفصول الدراسية Stringو Integer:
  • Integer.toString (int i)تستخدم للتحويل intإلى سلاسل جافا.
  • إذا كنت تريد تحويل كائن Stringإلى كائن Integer(بدلاً من فئة بدائية int)، فاستخدم التابع valueOf ()on-class Integerبدلاً من التابع parseInt ().
  • إذا كنت بحاجة إلى تحويل السلاسل إلى حقول Java بدائية إضافية، فاستخدم طرقًا مثل هذه Long.parseLong ().
الإجابة بواسطة: أليس واتسون
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION