Pretvarjanje niza v celo število v Javi

Pretvarjanje niza v celo število v Javi
Java

Razumevanje pretvorbe nizov v int v Javi

Pretvarjanje niza v celo število je običajna naloga v programiranju v Javi. Pogosto boste morali številske vrednosti, predstavljene kot nizi, pretvoriti v njihove celoštevilske ekvivalente za različne izračune in operacije. Ta pretvorba je preprosta in jo je mogoče doseči z uporabo več metod, ki jih ponuja jezik Java.

V tem članku bomo raziskali različne tehnike za pretvorbo niza v celo število v Javi. Ne glede na to, ali imate opravka z uporabniškim vnosom, razčlenjevanjem podatkov ali obdelavo nizov iz datoteke, je vedeti, kako učinkovito in natančno izvesti to pretvorbo, bistvenega pomena za vsakega razvijalca Java.

Ukaz Opis
Integer.parseInt() Pretvori niz v primitivni int. Vrže izjemo NumberFormatException, če niza ni mogoče razčleniti kot celo število.
Integer.valueOf() Pretvori niz v objekt Integer. Podobno kot parseInt, vendar vrne objekt Integer namesto primitivnega int.
Scanner Razred v paketu java.util, ki se uporablja za pridobivanje vnosa primitivnih tipov, kot so int, double itd., in nizov. Uporablja se za razčlenjevanje vhodnih nizov.
nextLine() Metoda razreda Scanner, ki premakne optični bralnik čez trenutno vrstico in vrne vnos, ki je bil preskočen.
try-catch Blok kode, ki se uporablja za obravnavanje izjem. Koda v poskusnem bloku se izvede in če pride do izjeme, se izvede blok catch.
NumberFormatException Podrazred IllegalArgumentException, vržen, ko poskus pretvorbe niza v številski tip ne uspe.

Razumevanje metod pretvorbe nizov v int

Ponujeni skripti prikazujejo različne metode za pretvorbo niza v celo število v Javi. Prva metoda uporablja Integer.parseInt() ukaz, ki je preprost način za razčlenitev niza, ki vsebuje veljavno predstavitev celega števila, v tip int. Ta metoda je učinkovita in vrže a NumberFormatException če niza ni mogoče razčleniti. Drugi scenarij uporablja Integer.valueOf(), ki je podoben Integer.parseInt() vendar vrne an Integer objekt namesto primitivnega int. To je lahko koristno pri delu z zbirkami ali drugimi podatkovnimi strukturami, ki zahtevajo objekte namesto primitivnih tipov.

Tretji primer predstavlja Scanner razreda iz java.util paket, ki je uporaben za branje vnosa iz različnih virov, vključno z vnosom uporabnikov. The nextLine() metoda razreda Scanner prebere naslednjo vrstico vnosa kot niz, ki se nato pretvori v int z uporabo Integer.parseInt(). Ta metoda je še posebej uporabna, ko morate dinamično obdelati uporabniški vnos. Četrti skript doda plast obravnavanja napak z uporabo a try-catch blok za ulov NumberFormatException. To zagotavlja, da če niza ni mogoče razčleniti kot celo število, lahko program elegantno obravnava napako, ne da bi se zrušil.

Pretvarjanje niza v celo število v Javi z uporabo Integer.parseInt

Uporaba Javinega vgrajenega razreda Integer

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

Pretvorba niza v celo število z uporabo Integer.valueOf v Javi

Implementacija metode Jave Integer.valueOf

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

Pretvarjanje niza v celo število v Javi s pomočjo optičnega bralnika

Uporaba Javinega razreda Scanner za pretvorbo

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);
    }
}

Pretvarjanje niza v celo število v Javi z uporabo try-catch za obravnavanje napak

Vključevanje obravnavanja napak z bloki poskusi-ulovi v Javi

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");
        }
    }
}

Raziskovanje alternativnih metod pretvorbe nizov v cela števila

Poleg že obravnavanih metod je še en način za pretvorbo niza v celo število v Javi uporaba knjižnic tretjih oseb, kot je Apache Commons Lang. The NumberUtils razred iz te knjižnice nudi uporabno metodo, NumberUtils.toInt(), ki se lahko uporabi za pretvorbo. Ta metoda je lahko še posebej uporabna, ker zagotavlja dodatne funkcije, kot je vrnitev privzete vrednosti, če pretvorba ne uspe, izogibanje izjemam in naredi kodo bolj robustno.

Druga zanimiva metoda je uporaba DecimalFormat razreda iz java.text paket. Čeprav se uporablja predvsem za oblikovanje decimalnih števil, lahko tudi razčleni nize v števila. Z ustvarjanjem primerka DecimalFormat in uporabo njegovega parse() lahko niz pretvorite v število in nato pretvorite v celo število. Ta pristop je manj pogost, vendar je lahko uporaben v posebnih scenarijih, kjer je potrebno tudi oblikovanje številk. Razumevanje teh alternativnih metod nudi širši pogled na pretvorbo niza v celo število in pomaga pri izbiri najboljše metode na podlagi posebnih zahtev aplikacije.

Pogosta vprašanja in odgovori o pretvorbi nizov v celo število v Javi

  1. Kaj se zgodi, če niz vsebuje neštevilske znake?
  2. Če niz vsebuje neštevilske znake, metode, kot je Integer.parseInt() in Integer.valueOf() bo vrgel a NumberFormatException.
  3. Kako lahko elegantno obravnavam napake pri pretvorbi?
  4. Uporabite lahko a try-catch blok za ulov NumberFormatException in elegantno odpravite napako.
  5. Ali obstaja način za zagotovitev privzete vrednosti, če pretvorba ne uspe?
  6. Da, z uporabo Apache Commons Lang NumberUtils.toInt() lahko podate privzeto vrednost, ki se vrne, če pretvorba ne uspe.
  7. Ali lahko pretvorim niz z decimalno vejico v celo število?
  8. Neposredna pretvorba takega niza bo povzročila izjemo. Najprej ga morate razčleniti na a float oz double, nato oddajte an int.
  9. Kaj je razlika med Integer.parseInt() in Integer.valueOf()?
  10. Integer.parseInt() vrne primitivni int, medtem ko Integer.valueOf() vrne an Integer predmet.
  11. Ali lahko uporabim Scanner za pretvorbo v konzolni aplikaciji?
  12. Da, Scanner razred je idealen za branje uporabniškega vnosa in pretvorbo nizov v cela števila.
  13. Ali obstaja metoda za pretvorbo niza v celo število v eni vrstici kode?
  14. Da, lahko uporabite Integer.parseInt() oz Integer.valueOf() v eni vrstici za pretvorbo niza v celo število.

Zaključek razprave o pretvorbi nizov v int

Pretvarjanje niza v celo število v Javi je temeljna veščina, ki jo je mogoče doseči z različnimi metodami. Razumevanje in izbira prave metode je odvisna od posebnih potreb vaše aplikacije. Ne glede na to, ali uporabljate osnovne metode, kot je Integer.parseInt() in Integer.valueOf()ali bolj robustne rešitve, kot je Scanner razredov in knjižnic tretjih oseb, obvladovanje teh tehnik zagotavlja učinkovito in uspešno pretvorbo nizov v celo število.