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 25T
egé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 null
vagy 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!