Merkkijonon muuntaminen kokonaisluvuksi Javassa

Merkkijonon muuntaminen kokonaisluvuksi Javassa
Java

String to int -muunnoksen ymmärtäminen Javassa

Merkkijonon muuntaminen kokonaisluvuksi on yleinen tehtävä Java-ohjelmoinnissa. Usein joudut muuntamaan merkkijonoina esitetyt numeeriset arvot kokonaislukuvastineiksi erilaisia ​​laskelmia ja operaatioita varten. Tämä muunnos on yksinkertainen, ja se voidaan saavuttaa useilla Java-kielen tarjoamilla menetelmillä.

Tässä artikkelissa tutkimme erilaisia ​​tekniikoita, joilla merkkijono muunnetaan kokonaisluvuksi Javassa. Olitpa tekemisissä käyttäjän syöttämisen, tietojen jäsentämisen tai tiedostojen merkkijonojen käsittelyn kanssa, jokaiselle Java-kehittäjälle on välttämätöntä tietää, kuinka tämä muunnos suoritetaan tehokkaasti ja tarkasti.

Komento Kuvaus
Integer.parseInt() Muuntaa merkkijonon primitiiviseksi int. Heittää NumberFormatExceptionin, jos merkkijonoa ei voida jäsentää kokonaislukuna.
Integer.valueOf() Muuntaa merkkijonon kokonaislukuobjektiksi. Samanlainen kuin parseInt, mutta palauttaa kokonaisluvun objektin primitiivisen int:n sijaan.
Scanner Java.util-paketin luokka, jota käytetään primitiivityyppien, kuten int, double jne., ja merkkijonojen syöttämiseen. Käytetään syöttömerkkijonojen jäsentämiseen.
nextLine() Scanner-luokan menetelmä, joka siirtää skannerin nykyisen rivin ohi ja palauttaa syötteen, joka ohitettiin.
try-catch Koodilohko, jota käytetään käsittelemään poikkeuksia. Try-lohkossa oleva koodi suoritetaan, ja jos poikkeus tapahtuu, catch-lohko suoritetaan.
NumberFormatException IllegalArgumentExceptionin alaluokka, joka heitetään, kun yritys muuntaa merkkijono numeeriseksi epäonnistuu.

String to int -muunnosmenetelmien ymmärtäminen

Toimitetut komentosarjat esittelevät erilaisia ​​menetelmiä merkkijonon muuntamiseksi kokonaisluvuksi Javassa. Ensimmäinen menetelmä käyttää Integer.parseInt() -komento, joka on yksinkertainen tapa jäsentää kelvollisen kokonaislukuesityksen sisältävä merkkijono int-tyypiksi. Tämä menetelmä on tehokas ja heittää a NumberFormatException jos merkkijonoa ei voida jäsentää. Toinen skripti käyttää Integer.valueOf(), joka on samanlainen kuin Integer.parseInt() mutta palauttaa an Integer objekti primitiivisen int:n sijaan. Tästä voi olla hyötyä, kun työskentelet kokoelmien tai muiden tietorakenteiden kanssa, jotka vaativat objekteja primitiivityyppien sijaan.

Kolmas esimerkki esittelee Scanner luokasta alkaen java.util paketti, joka on hyödyllinen luettaessa syötteitä eri lähteistä, mukaan lukien käyttäjän syöte. The nextLine() Scanner-luokan menetelmä lukee seuraavan syötteen rivin merkkijonona, joka muunnetaan sitten int:ksi käyttämällä Integer.parseInt(). Tämä menetelmä on erityisen hyödyllinen, kun sinun on käsiteltävä käyttäjän syötteitä dynaamisesti. Neljäs komentosarja lisää virheenkäsittelyn kerroksen a try-catch lohko kiinni NumberFormatException. Tämä varmistaa, että jos merkkijonoa ei voida jäsentää kokonaislukuna, ohjelma pystyy käsittelemään virheen sulavasti ilman kaatumista.

Merkkijonon muuntaminen kokonaisluvuksi Javassa käyttämällä Integer.parseInt-tiedostoa

Hyödynnä Javan sisäänrakennettua kokonaislukuluokkaa

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

Merkkijono kokonaislukumuunnos Javassa Integer.valueOf:n avulla

Javan Integer.valueOf-menetelmän käyttöönotto

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

Merkkijonon muuntaminen kokonaisluvuksi Javassa skannerin avulla

Javan Scanner-luokan käyttäminen muuntamiseen

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

Merkkijonon muuntaminen kokonaisluvuksi Javassa käyttämällä try-catchia virheiden käsittelyyn

Virheenkäsittelyn sisällyttäminen try-catch-lohkoihin Javassa

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

Vaihtoehtoisten merkkijonojen kokonaislukumuunnosmenetelmien tutkiminen

Jo käsiteltyjen menetelmien lisäksi toinen tapa muuntaa merkkijono kokonaisluvuksi Javassa on käyttää kolmannen osapuolen kirjastoja, kuten Apache Commons Langia. The NumberUtils luokka tästä kirjastosta tarjoaa apumenetelmän, NumberUtils.toInt(), jota voidaan käyttää muuntamiseen. Tämä menetelmä voi olla erityisen hyödyllinen, koska se tarjoaa lisäominaisuuksia, kuten oletusarvon palauttamisen, jos muunnos epäonnistuu, poikkeuksien välttämisen ja koodin vahvistamisen.

Toinen mielenkiintoinen menetelmä on käyttää DecimalFormat luokasta alkaen java.text paketti. Vaikka sitä käytetään ensisijaisesti desimaalilukujen muotoiluun, se voi myös jäsentää merkkijonoja numeroiksi. Luomalla ilmentymä DecimalFormat ja sen käyttäminen parse() -menetelmällä merkkijono voidaan muuntaa luvuksi ja sitten heittää kokonaisluvuksi. Tämä lähestymistapa on vähemmän yleinen, mutta se voi olla hyödyllinen tietyissä skenaarioissa, joissa vaaditaan myös numeromuotoilu. Näiden vaihtoehtoisten menetelmien ymmärtäminen tarjoaa laajemman näkökulman merkkijonon muuntamiseen kokonaislukuiksi ja auttaa valitsemaan parhaan menetelmän sovelluksen erityisvaatimusten perusteella.

Yleisiä kysymyksiä ja vastauksia merkkijonon muuntamisesta kokonaisluvuiksi Javassa

  1. Mitä tapahtuu, jos merkkijono sisältää ei-numeerisia merkkejä?
  2. Jos merkkijono sisältää ei-numeerisia merkkejä, menetelmät, kuten Integer.parseInt() ja Integer.valueOf() heittää a NumberFormatException.
  3. Kuinka voin käsitellä muunnosvirheet sulavasti?
  4. Voit käyttää a try-catch lohko kiinni NumberFormatException ja käsittele virhettä tyylikkäästi.
  5. Onko mahdollista antaa oletusarvo, jos muuntaminen epäonnistuu?
  6. Kyllä, käyttämällä Apache Commons Langia NumberUtils.toInt() -menetelmällä voit määrittää oletusarvon, joka palautetaan, jos muunnos epäonnistuu.
  7. Voinko muuntaa desimaalipilkun sisältävän merkkijonon kokonaisluvuksi?
  8. Tällaisen merkkijonon muuntaminen suoraan aiheuttaa poikkeuksen. Sinun tulee ensin jäsentää se a float tai doubleja suoratoista sitten an int.
  9. Mitä eroa on Integer.parseInt() ja Integer.valueOf()?
  10. Integer.parseInt() palauttaa primitiivisen int:n, taas Integer.valueOf() palauttaa an Integer esine.
  11. Voinko käyttää Scanner muuntamiseen konsolisovelluksessa?
  12. Kyllä Scanner luokka on ihanteellinen käyttäjän syötteiden lukemiseen ja merkkijonojen muuntamiseen kokonaisluvuiksi.
  13. Onko olemassa menetelmää, jolla merkkijono muunnetaan kokonaisluvuksi yhdellä koodirivillä?
  14. Kyllä, voit käyttää Integer.parseInt() tai Integer.valueOf() yhdellä rivillä muuntaaksesi merkkijonon kokonaisluvuksi.

Merkkijonon keskustelun päättäminen int-muunnokseksi

Merkkijonon muuntaminen kokonaisluvuksi Javassa on perustaito, joka voidaan saavuttaa eri menetelmillä. Oikean menetelmän ymmärtäminen ja valinta riippuu sovelluksesi erityistarpeista. Käytätkö perusmenetelmiä, kuten Integer.parseInt() ja Integer.valueOf(), tai kestävämpiä ratkaisuja, kuten Scanner luokan ja kolmannen osapuolen kirjastoissa, näiden tekniikoiden hallitseminen varmistaa, että voit käsitellä merkkijonojen muunnoksia kokonaisluvuiksi tehokkaasti ja tehokkaasti.