Java karakterlánc int - hogyan konvertálhatunk karakterláncot egészre

A karakterlánc objektumokat karakterláncként ábrázolják.

Ha a Java Swing programban dolgozott, annak vannak olyan összetevői, mint a JTextField és a JTextArea, amelyeket felhasználunk arra, hogy a grafikus felhasználói felületről kapjuk a bevitelt. A bemenetünket stringként veszi fel.

Ha egyszerű számológépet akarunk készíteni a Swing használatával, meg kell találnunk, hogyan alakíthatjuk át a karakterláncot egész számra. Ez arra a kérdésre vezet bennünket, hogy hogyan lehet konvertálni egy karakterláncot egész számra?

A Java-ban a Integer.valueOf()és Integer.parseInt()karakterláncokat egész számokká alakíthatjuk.

1. Az Integer.parseInt () segítségével konvertáljon egy karakterláncot egészgé

Ez a módszer primitív int típusúként adja vissza a karakterláncot . Ha a karakterlánc nem tartalmaz érvényes egész számot, akkor egy NumberFormatException-t dob.

Tehát minden alkalommal, amikor egy karakterláncot int-vé konvertálunk, gondoskodnunk kell erről a kivételről úgy, hogy a kódot a try-catch blokkba helyezzük.

Vegyünk egy példát egy karakterlánc int-vé konvertálására a következő használatával Integer.parseInt():

 String str = "25"; try{ int number = Integer.parseInt(str); System.out.println(number); // output = 25 } catch (NumberFormatException ex){ ex.printStackTrace(); }

Próbáljuk megszakítani ezt a kódot egy érvénytelen egész szám beírásával:

 String str = "25T"; try{ int number = Integer.parseInt(str); System.out.println(number); } catch (NumberFormatException ex){ ex.printStackTrace(); }

Amint a fenti kódban láthatja, megpróbáltunk 25Tegész számra konvertálni . Ez nem érvényes bemenet. Ezért meg kell dobnia a NumberFormatException parancsot.

Itt van a fenti kód kimenete:

java.lang.NumberFormatException: For input string: "25T" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at OOP.StringTest.main(StringTest.java:51)

Ezután megvizsgáljuk, hogyan lehet konvertálni egy karakterláncot egész számra a Integer.valueOf()módszer segítségével.

2. Az Integer.valueOf () segítségével konvertáljon egy karakterláncot egészgé

Ez a módszer a karakterláncot egész objektumként adja vissza . Ha megnézi a Java dokumentációját, Integer.valueOf()egy egész objektumot ad vissza, amely egyenértékű az a-val new Integer(Integer.parseInt(s)).

Ha ezt a módszert használja, a kódot a try-catch blokkba helyezzük. Vegyünk egy példát a Integer.valueOf()módszer segítségével:

 String str = "25"; try{ Integer number = Integer.valueOf(str); System.out.println(number); // output = 25 } catch (NumberFormatException ex){ ex.printStackTrace(); }

Most próbáljuk megszakítani a fenti kódot egy érvénytelen egész szám beírásával:

 String str = "25TA"; try{ Integer number = Integer.valueOf(str); System.out.println(number); } catch (NumberFormatException ex){ ex.printStackTrace(); }

Az előző példához hasonlóan a fenti kód is kivételt vet.

Itt van a fenti kód kimenete:

java.lang.NumberFormatException: For input string: "25TA" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.valueOf(Integer.java:766) at OOP.StringTest.main(StringTest.java:42)

Létrehozhatunk egy módszert annak ellenőrzésére is, hogy a beírt karakterlánc numerikus-e vagy sem, mielőtt a fent említett módszereket alkalmaznánk.

Létrehoztam egy egyszerű módszert annak ellenőrzésére, hogy a beírt karakterlánc numerikus-e vagy sem.

public class StringTest { public static void main(String[] args) { String str = "25"; String str1 = "25.06"; System.out.println(isNumeric(str)); System.out.println(isNumeric(str1)); } private static boolean isNumeric(String str){ return str != null && str.matches("[0-9.]+"); } }

A kimenet:

true true

A isNumeric()módszer argumentumként egy karakterláncot vesz fel. Először ellenőrzi, hogy van-e nullvagy sem. Ezt követően a matches()módszer segítségével ellenőrizzük, hogy tartalmaz-e 0–9 számjegyet és egy pont karaktert.

Ez egy egyszerű módja a numerikus értékek ellenőrzésének. Írhat, vagy kereshet a Google-nél fejlettebb reguláris kifejezéseket numerikus számok rögzítéséhez, a használati esettől függően.

Az egész számra konvertálás megkezdése előtt célszerű ellenőrizni, hogy a beírt karakterlánc numerikus-e vagy sem.

Köszönöm, hogy elolvasta.

?? Janko Ferlič képe az Unsplash-on

A Mediumon kapcsolatba léphet velem.

Boldog kódolás!