Stringi teisendamine täisarvuks Javas

Stringi teisendamine täisarvuks Javas
Java

Stringist int teisendamise mõistmine Javas

Stringi täisarvuks teisendamine on Java programmeerimises tavaline ülesanne. Sageli peate mitmesuguste arvutuste ja toimingute jaoks teisendama stringidena esitatud arvväärtused nende täisarvudeks. See teisendamine on lihtne ja seda saab saavutada mitme Java keele pakutava meetodi abil.

Selles artiklis uurime erinevaid tehnikaid, kuidas Java-s stringi täisarvuks teisendada. Olenemata sellest, kas tegelete kasutaja sisendiga, andmete sõelumisega või failist stringide töötlemisega, on iga Java arendaja jaoks oluline teada, kuidas seda teisendust tõhusalt ja täpselt teha.

Käsk Kirjeldus
Integer.parseInt() Teisendab stringi primitiivseks int. Visab NumberFormatExceptioni, kui stringi ei saa täisarvuna sõeluda.
Integer.valueOf() Teisendab stringi täisarvuliseks objektiks. Sarnaselt parseIntiga, kuid tagastab primitiivse int asemel täisarvulise objekti.
Scanner Klass paketis java.util, mida kasutatakse primitiivsete tüüpide (nt int, double jne) ja stringide sisendi saamiseks. Kasutatakse sisendstringide sõelumiseks.
nextLine() Klassi Scanner meetod, mis viib skanneri praegusest reast edasi ja tagastab vahele jäetud sisendi.
try-catch Koodiplokk, mida kasutatakse erandite käsitlemiseks. Käivitatakse prooviplokis olev kood ja erandi korral käivitatakse püüdmisplokk.
NumberFormatException IllegalArgumentExceptioni alamklass, mis kuvatakse siis, kui stringi numbritüübiks teisendamine ebaõnnestub.

Stringist int-i teisendusmeetodite mõistmine

Kaasasolevad skriptid näitavad erinevaid meetodeid, kuidas Java-s stringi täisarvuks teisendada. Esimene meetod kasutab Integer.parseInt() käsk, mis on lihtne viis kehtivat täisarvu sisaldava stringi sõelumiseks int-tüübiks. See meetod on tõhus ja viskab a NumberFormatException kui stringi ei saa sõeluda. Teine skript kasutab Integer.valueOf(), mis on sarnane Integer.parseInt() kuid tagastab an Integer objekt primitiivse int asemel. See võib olla kasulik kogude või muude andmestruktuuridega töötamisel, mis nõuavad primitiivsete tüüpide asemel objekte.

Kolmas näide tutvustab Scanner klassist alates java.util pakett, mis on kasulik erinevatest allikatest, sealhulgas kasutaja sisestatud sisendi lugemiseks. The nextLine() Scanner klassi meetod loeb järgmise sisendirea stringina, mis seejärel teisendatakse int kasutades Integer.parseInt(). See meetod on eriti kasulik, kui peate kasutaja sisestust dünaamiliselt käsitlema. Neljas skript lisab tõrketöötluse kihi, kasutades a try-catch plokk püüda NumberFormatException. See tagab, et kui stringi ei saa täisarvuna sõeluda, saab programm veaga graatsiliselt hakkama ilma kokkujooksmiseta.

Stringi teisendamine täisarvuks Javas, kasutades Integer.parseInt

Java sisseehitatud täisarvude klassi kasutamine

public class StringToIntExample1 {
    public static void main(String[] args) {
        String str = "1234";
        int number = Integer.parseInt(str);
        System.out.println("Converted number: " + number);
    }
}

Stringi täisarvuks teisendamine Javas Integer.valueOf abil

Java meetodi Integer.valueOf juurutamine

public class StringToIntExample2 {
    public static void main(String[] args) {
        String str = "1234";
        int number = Integer.valueOf(str);
        System.out.println("Converted number: " + number);
    }
}

Stringi teisendamine täisarvuks Javas skanneri abil

Konversiooniks kasutatakse Java skanneriklassi

import java.util.Scanner;
public class StringToIntExample3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a number: ");
        String str = scanner.nextLine();
        int number = Integer.parseInt(str);
        System.out.println("Converted number: " + number);
    }
}

Stringi teisendamine täisarvuks Javas, kasutades vigade käsitlemiseks proovivõttu

Vigade käsitlemise kaasamine Java try-catch-plokkidega

public class StringToIntExample4 {
    public static void main(String[] args) {
        String str = "1234a";
        try {
            int number = Integer.parseInt(str);
            System.out.println("Converted number: " + number);
        } catch (NumberFormatException e) {
            System.out.println("Invalid number format");
        }
    }
}

Alternatiivsete stringide täisarvudeks teisendusmeetodite uurimine

Lisaks juba käsitletud meetoditele hõlmab teine ​​viis stringi täisarvuks teisendamiseks Javas kolmandate osapoolte teekide, näiteks Apache Commons Langi, kasutamist. The NumberUtils klass sellest teegist pakub utiliidi meetodi, NumberUtils.toInt(), mida saab kasutada teisendamiseks. See meetod võib olla eriti kasulik, kuna see pakub lisafunktsioone, nagu vaikeväärtuse tagastamine, kui konversioon ebaõnnestub, erandite vältimine ja koodi tugevamaks muutmine.

Teine huvitav meetod on kasutada DecimalFormat klassist alates java.text pakett. Kuigi seda kasutatakse peamiselt kümnendarvude vormindamiseks, saab see ka stringe arvudeks sõeluda. Luues eksemplari DecimalFormat ja selle kasutamine parse() meetodil saab stringi teisendada arvuks ja seejärel täisarvuks üle kanda. See lähenemisviis on vähem levinud, kuid võib olla kasulik konkreetsetes stsenaariumides, kus on vaja ka numbrite vormindamist. Nende alternatiivsete meetodite mõistmine annab laiema vaate stringist täisarvuks teisendamisele ja aitab valida rakenduse spetsiifiliste nõuete põhjal parima meetodi.

Levinud küsimused ja vastused stringi täisarvuks teisendamise kohta Javas

  1. Mis juhtub, kui string sisaldab mittenumbrilisi märke?
  2. Kui string sisaldab mittenumbrilisi märke, kasutatakse selliseid meetodeid nagu Integer.parseInt() ja Integer.valueOf() viskab a NumberFormatException.
  3. Kuidas ma saan konversioonivigadega graatsiliselt hakkama?
  4. Võite kasutada a try-catch plokk püüda NumberFormatException ja käsitlege viga graatsiliselt.
  5. Kas on võimalik anda vaikeväärtust, kui konversioon ebaõnnestub?
  6. Jah, kasutades Apache Commons Langi NumberUtils.toInt() meetodil saate määrata vaikeväärtuse, mis tagastatakse, kui konversioon ebaõnnestub.
  7. Kas ma saan teisendada kümnendkohaga stringi täisarvuks?
  8. Sellise stringi otse teisendamine teeb erandi. Esmalt peaksite selle sõeluma a float või double, seejärel kandke an int.
  9. Mis on vahet Integer.parseInt() ja Integer.valueOf()?
  10. Integer.parseInt() tagastab primitiivse int, kusjuures Integer.valueOf() tagastab an Integer objektiks.
  11. Kas ma võin kasutada Scanner konsoolirakenduses teisendamiseks?
  12. Jah, Scanner klass sobib ideaalselt kasutaja sisendi lugemiseks ja stringide täisarvudeks teisendamiseks.
  13. Kas on olemas meetod stringi teisendamiseks täisarvuks ühes koodireas?
  14. Jah, võite kasutada Integer.parseInt() või Integer.valueOf() stringi täisarvuks teisendamiseks.

Arutelu lõpetamine stringi int teisendamiseks

Stringi täisarvuks teisendamine Javas on põhioskus, mida saab saavutada erinevate meetoditega. Õige meetodi mõistmine ja valimine sõltub teie rakenduse konkreetsetest vajadustest. Kas kasutate põhimeetodeid nagu Integer.parseInt() ja Integer.valueOf(), või tugevamaid lahendusi nagu Scanner klassi ja kolmandate osapoolte teegid, tagab nende tehnikate valdamine, et saate stringidest täisarvudeks teisendusi tõhusalt ja tõhusalt käsitleda.