JavaRush /Java Blogu /Random-AZ /Sual və Cavab: Java-da String-i int-ə necə düzgün çevirmə...

Sual və Cavab: Java-da String-i int-ə necə düzgün çevirmək olar?

Qrupda dərc edilmişdir
Tələb olunan biliklərin təxmini səviyyəsi: Java Syntax axtarışı və bir az Java Core.
Sual və Cavab: Java-da String-i int-ə necə düzgün çevirmək olar?  - 1
İlk JavaRush tapşırığının sonunda biz tip çevrilməsi haqqında öyrənirik. 10-cu səviyyəli mühazirələrdə siz görə bilərsiniz ki, çevrilmə intçox sadədir və ümumiyyətlə, demək olar ki, istənilən primitiv tipə problemsiz Stringçevrilə bilər .String
int x = 5;
String text = "X=" + x;
Həmçinin, Java Syntax axtarışının 10-cu səviyyəsini artıq başa vuranlar bilirlər ki, nömrəyə istinadı sətir istinadına çevirmək mümkün deyil. Beləliklə, sətri primitiv tam ədədə çevirməyin ən yaxşı yolu nədir? parseIntBunu sinif metodundan istifadə etməklə etmək daha yaxşıdır Integer. Metod parseIntçevirməli Stringvə sətir tipə çevrilə bilmədikdə intistisna atır . NumberFormatExceptionint

Misal

Sətri tam ədədə çevirən əsas xətt:
int i = Integer.parseInt (myString);
Dəyişən ilə işarələnmiş sətir myStringetibarlı tam ədəddirsə, məsələn, "1", "200", Java onu sakitcə primitiv məlumat növünə çevirəcək int. Nədənsə bu uğursuz olarsa, belə bir hərəkət istisna yarada bilər NumberFormatException, buna görə proqramın hər hansı bir sətir üçün düzgün işləməsi üçün bir az daha çox kod lazımdır. Mümkün olanlara çevirmə, idarə etmə Java Stringüsulunu nümayiş etdirən proqram : intNumberFormatException
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());
    }
  }

Müzakirə

Integer.parseInt (s.trim ())Yuxarıdakı nümunəni öyrəndiyiniz zaman, sətri stam ədədə çevirmək üçün metodun istifadə edildiyini görəcəksiniz ivə bu, aşağıdakı kod sətirində baş verir:
int i = Integer.parseInt (s.trim ())
Ancaq bəzən bir sətri nömrəyə çevirmək sadəcə işləmir. Bizim nümunəmizdə belə bir sətir fred adıdır. Kompüterdə hərflərin yazıldığı kodlardan danışa bilərik, lakin formal desək, fred rəqəm deyil və onu sətir kimi buraxmaq daha yaxşıdır. Proqramımız elə qurulmuşdur ki, əgər siz "fred"-i nömrəyə çevirməyə cəhd etsəniz, proses bir blokda idarə etməli olduğunuz Integer parseIntbir istisna atacaq . Bu halda siz sinif metodundan istifadə etməli deyilsiniz , lakin real proqramlaşdırmada ondan istifadə etməlisiniz. Beləliklə, sizə göstərdik. Bu mövzu gündəmə gəldiyi üçün burada dərslər mövzusunda bəzi "məsləhətlər" var və : NumberFormatExceptiontry / catchtrim ()StringStringInteger
  • Integer.toString (int i)intJava sətirlərinə çevirmək üçün istifadə olunur .
  • StringObyekti obyektə çevirmək istəyirsinizsə ( ibtidai Integersinif əvəzinə ) int, .valueOf ()IntegerparseInt ()
  • Sətirləri əlavə primitiv Java sahələrinə çevirmək lazımdırsa, bu kimi üsullardan istifadə edin Long.parseLong ().
Cavab verən: Alice Watson
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION