Eilutės konvertavimas į sveikąjį skaičių Java

Eilutės konvertavimas į sveikąjį skaičių Java
Java

„Java“ konvertavimo iš eilutės į int supratimas

Eilutės konvertavimas į sveikąjį skaičių yra įprasta Java programavimo užduotis. Dažnai įvairiems skaičiavimams ir operacijoms atlikti skaitines reikšmes, pateiktas kaip eilutės, turėsite paversti sveikaisiais skaičiais. Šis konvertavimas yra nesudėtingas ir gali būti pasiektas naudojant kelis Java kalbos pateiktus metodus.

Šiame straipsnyje mes išnagrinėsime įvairius būdus, kaip „Java“ paversti eilutę sveikuoju skaičiumi. Nesvarbu, ar naudojate vartotojo įvestį, analizuojate duomenis ar apdorojate eilutes iš failo, bet kuris „Java“ kūrėjas turi žinoti, kaip efektyviai ir tiksliai atlikti šią konversiją.

komandą apibūdinimas
Integer.parseInt() Konvertuoja eilutę į primityvią int. Įveda NumberFormatException, jei eilutės negalima išanalizuoti kaip sveikojo skaičiaus.
Integer.valueOf() Konvertuoja eilutę į sveikojo skaičiaus objektą. Panašus į parseInt, bet grąžina sveikojo skaičiaus objektą, o ne primityvų int.
Scanner Klasė java.util pakete, naudojama gauti primityvių tipų, pvz., int, double ir tt, ir eilučių įvestį. Naudojamas įvesties eilutėms analizuoti.
nextLine() Skaitytuvų klasės metodas, perkeliantis skaitytuvą už dabartinės eilutės ir grąžinantis praleistą įvestį.
try-catch Kodo blokas, naudojamas išimtims tvarkyti. Bandymo bloke esantis kodas yra vykdomas, o jei įvyksta išimtis, vykdomas gaudymo blokas.
NumberFormatException IllegalArgumentException poklasis, išmetamas, kai nepavyksta paversti eilutę į skaitinį tipą.

Konvertavimo iš eilutės į int metodų supratimas

Pateikti scenarijai demonstruoja įvairius būdus, kaip „Java“ paversti eilutę į sveikąjį skaičių. Pirmasis metodas naudoja Integer.parseInt() komandą, kuri yra paprastas būdas išanalizuoti eilutę, kurioje yra tinkamas sveikasis skaičius, į int tipą. Šis metodas yra efektyvus ir išmeta a NumberFormatException jei eilutės negalima išanalizuoti. Antrasis scenarijus naudoja Integer.valueOf(), kuris yra panašus į Integer.parseInt() bet grąžina an Integer objektas vietoj primityvaus tarpt. Tai gali būti naudinga dirbant su kolekcijomis ar kitomis duomenų struktūromis, kurioms reikalingi objektai, o ne primityvūs tipai.

Trečiasis pavyzdys pristato Scanner klasė iš java.util paketą, kuris yra naudingas nuskaitant įvestį iš įvairių šaltinių, įskaitant vartotojo įvestį. The nextLine() skaitytuvo klasės metodas nuskaito kitą įvesties eilutę kaip eilutę, kuri vėliau konvertuojama į int naudojant Integer.parseInt(). Šis metodas ypač naudingas, kai reikia dinamiškai apdoroti vartotojo įvestį. Ketvirtasis scenarijus prideda klaidų apdorojimo sluoksnį naudojant a try-catch blokas pagauti NumberFormatException. Tai užtikrina, kad jei eilutės negalima išanalizuoti kaip sveikojo skaičiaus, programa gali grakščiai išspręsti klaidą ir nesugriūti.

Eilutės konvertavimas į sveikąjį skaičių Java naudojant Integer.parseInt

Naudojant „Java“ integruotą sveikųjų skaičių klasę

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

Eilutės konvertavimas į sveikąjį skaičių naudojant „Integer.valueOf“ programoje „Java“.

„Java“ metodo „Integer.valueOf“ įgyvendinimas

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

Eilutės konvertavimas į sveikąjį skaičių „Java“ naudojant skaitytuvą

Konvertavimui naudojama „Java“ skaitytuvo klasė

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

Eilutės konvertavimas į sveikąjį skaičių „Java“ naudojant try-catch klaidas

Klaidų apdorojimo įtraukimas naudojant „try-catch“ blokus „Java“.

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

Alternatyvių eilučių konvertavimo į sveikuosius skaičius metodų tyrinėjimas

Be jau aptartų metodų, kitas būdas konvertuoti eilutę į sveikąjį skaičių „Java“ apima trečiųjų šalių bibliotekų, tokių kaip Apache Commons Lang, naudojimą. The NumberUtils klasė iš šios bibliotekos pateikia naudingumo metodą, NumberUtils.toInt(), kuris gali būti naudojamas konvertavimui. Šis metodas gali būti ypač naudingas, nes suteikia papildomų funkcijų, tokių kaip numatytosios vertės grąžinimas, jei konversija nepavyksta, išvengiama išimčių ir kodo patikimumas.

Kitas įdomus būdas yra naudoti DecimalFormat klasė iš java.text paketą. Nors pirmiausia naudojamas dešimtainiams skaičiams formatuoti, jis taip pat gali išanalizuoti eilutes į skaičius. Sukūrę egzempliorių DecimalFormat ir naudojant jį parse() metodu, eilutę galima konvertuoti į skaičių, o tada perkelti į sveikąjį skaičių. Šis metodas yra mažiau paplitęs, bet gali būti naudingas tam tikrais atvejais, kai taip pat reikalingas skaičių formatavimas. Šių alternatyvių metodų supratimas suteikia platesnę perspektyvą konvertuoti eilutę į sveikąjį skaičių ir padeda pasirinkti geriausią metodą, atsižvelgiant į konkrečius programos reikalavimus.

Įprasti klausimai ir atsakymai apie eilutės konvertavimą į sveikąjį skaičių „Java“.

  1. Kas atsitiks, jei eilutėje yra neskaitinių simbolių?
  2. Jei eilutėje yra neskaitinių simbolių, tokie metodai kaip Integer.parseInt() ir Integer.valueOf() išmes a NumberFormatException.
  3. Kaip galiu maloniai tvarkyti konversijos klaidas?
  4. Galite naudoti a try-catch blokas pagauti NumberFormatException ir grakščiai tvarkykite klaidą.
  5. Ar yra būdas pateikti numatytąją vertę, jei konversija nepavyksta?
  6. Taip, naudojant Apache Commons Lang's NumberUtils.toInt() metodą, galite nurodyti numatytąją vertę, kuri grąžinama, jei konversija nepavyks.
  7. Ar galiu konvertuoti eilutę su kableliu į sveikąjį skaičių?
  8. Tiesiogiai konvertuojant tokią eilutę bus padaryta išimtis. Pirmiausia turėtumėte jį išanalizuoti į a float arba double, tada perkelkite į an int.
  9. Koks skirtumas tarp Integer.parseInt() ir Integer.valueOf()?
  10. Integer.parseInt() grąžina primityvų int, tuo tarpu Integer.valueOf() grąžina an Integer objektas.
  11. Ar galiu naudoti Scanner konvertuoti konsolės programoje?
  12. Taip, Scanner klasė idealiai tinka skaityti vartotojo įvestį ir konvertuoti eilutes į sveikuosius skaičius.
  13. Ar yra būdas konvertuoti eilutę į sveikąjį skaičių vienoje kodo eilutėje?
  14. Taip, galite naudoti Integer.parseInt() arba Integer.valueOf() vienoje eilutėje, norėdami konvertuoti eilutę į sveikąjį skaičių.

Apibendrinant diskusiją apie eilutės konvertavimą į int

Eilutės konvertavimas į sveikąjį skaičių „Java“ yra pagrindinis įgūdis, kurį galima atlikti naudojant įvairius metodus. Tinkamo metodo supratimas ir pasirinkimas priklauso nuo konkrečių jūsų programos poreikių. Nesvarbu, ar naudojate pagrindinius metodus, pvz Integer.parseInt() ir Integer.valueOf(), arba patikimesnius sprendimus, tokius kaip Scanner klasės ir trečiųjų šalių bibliotekų, šių metodų įsisavinimas užtikrina, kad galite efektyviai ir efektyviai tvarkyti eilučių konvertavimą į sveikąjį skaičių.