Virknes pārvēršana par veselu skaitli Java

Virknes pārvēršana par veselu skaitli Java
Java

Izpratne par virknes pārvēršanu int valodā Java

Virknes konvertēšana par veselu skaitli ir izplatīts uzdevums Java programmēšanā. Bieži vien jums ir jāpārveido skaitliskās vērtības, kas attēlotas kā virknes, to veselos skaitļos, lai veiktu dažādus aprēķinus un darbības. Šī konvertēšana ir vienkārša, un to var panākt, izmantojot vairākas Java valodas nodrošinātās metodes.

Šajā rakstā mēs izpētīsim dažādas metodes, kā pārvērst virkni par veselu skaitli Java. Neatkarīgi no tā, vai veicat lietotāja ievadi, datu parsēšanu vai failu virkņu apstrādi, jebkuram Java izstrādātājam ir svarīgi zināt, kā veikt šo konvertēšanu efektīvi un precīzi.

Pavēli Apraksts
Integer.parseInt() Pārvērš virkni par primitīvu int. Iemet NumberFormatException, ja virkni nevar parsēt kā veselu skaitli.
Integer.valueOf() Pārvērš virkni par veselu skaitļa objektu. Līdzīgi kā parseInt, bet atgriež vesela skaitļa objektu, nevis primitīvu int.
Scanner Klase java.util pakotnē, ko izmanto, lai iegūtu primitīvu veidu ievadi, piemēram, int, double utt., un virknes. Izmanto, lai parsētu ievades virknes.
nextLine() Skeneru klases metode, kas virza skeneri tālāk par pašreizējo rindu un atgriež ievadi, kas tika izlaista.
try-catch Koda bloks, kas tiek izmantots izņēmumu apstrādei. Kods mēģinājuma blokā tiek izpildīts, un, ja notiek izņēmums, tiek izpildīts noķeršanas bloks.
NumberFormatException IllegalArgumentException apakšklase, kas tiek izmesta, ja mēģinājums pārvērst virkni par skaitlisko tipu neizdodas.

Izpratne par virknes uz int konvertēšanas metodēm

Piedāvātie skripti demonstrē dažādas metodes virknes konvertēšanai par veselu skaitli Java. Pirmajā metodē tiek izmantota Integer.parseInt() komandu, kas ir vienkāršs veids, kā parsēt virkni, kas satur derīgu veselu skaitļu attēlojumu, int veidā. Šī metode ir efektīva un met a NumberFormatException ja virkni nevar parsēt. Otrais skripts izmanto Integer.valueOf(), kas ir līdzīgs Integer.parseInt() bet atgriež an Integer objekts, nevis primitīvs int. Tas var būt noderīgi, strādājot ar kolekcijām vai citām datu struktūrām, kurām nepieciešami objekti, nevis primitīvi tipi.

Trešais piemērs iepazīstina ar Scanner klase no java.util pakotne, kas ir noderīga, lai nolasītu ievadi no dažādiem avotiem, tostarp lietotāja ievades. The nextLine() skenera klases metode nolasa nākamo ievades rindiņu kā virkni, kas pēc tam tiek pārveidota par int, izmantojot Integer.parseInt(). Šī metode ir īpaši noderīga, ja lietotāja ievade ir jāapstrādā dinamiski. Ceturtais skripts pievieno kļūdu apstrādes slāni, izmantojot a try-catch bloku noķert NumberFormatException. Tas nodrošina, ka, ja virkni nevar parsēt kā veselu skaitli, programma var graciozi apstrādāt kļūdu bez avārijas.

Virknes konvertēšana par veselu skaitli Java, izmantojot Integer.parseInt

Izmantojot Java iebūvēto Integer klasi

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

Virknes konvertēšana uz veseliem skaitļiem, izmantojot Java Integer.valueOf

Java metodes Integer.valueOf ieviešana

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

Virknes pārvēršana par veselu skaitli Java, izmantojot skeneri

Pārveidošanai tiek izmantota Java skenera klase

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

Virknes pārvēršana par veselu skaitli Java, izmantojot try-catch kļūdu apstrādei

Kļūdu apstrādes iekļaušana ar try-catch blokiem 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");
        }
    }
}

Alternatīvu virkņu uz veselu skaitļu pārveidošanas metožu izpēte

Papildus jau apspriestajām metodēm vēl viens veids, kā Java pārvērst virkni par veselu skaitli, ir izmantot trešās puses bibliotēkas, piemēram, Apache Commons Lang. The NumberUtils klase no šīs bibliotēkas nodrošina utilīta metodi, NumberUtils.toInt(), ko var izmantot konvertēšanai. Šī metode var būt īpaši noderīga, jo tā nodrošina papildu funkcijas, piemēram, noklusējuma vērtības atgriešanu, ja reklāmguvums neizdodas, izvairoties no izņēmumiem un padarot kodu izturīgāku.

Vēl viena interesanta metode ir izmantot DecimalFormat klase no java.text iepakojums. Lai gan to galvenokārt izmanto decimālo skaitļu formatēšanai, to var arī parsēt virknes skaitļos. Izveidojot gadījumu DecimalFormat un izmantojot to parse() metodi, virkni var pārvērst par skaitli un pēc tam nodot veselam skaitlim. Šī pieeja ir retāk izplatīta, taču tā var būt noderīga konkrētos gadījumos, kad ir nepieciešams arī skaitļu formatējums. Izpratne par šīm alternatīvajām metodēm sniedz plašāku skatījumu uz virknes pārvēršanu par veseliem skaitļiem un palīdz izvēlēties labāko metodi, pamatojoties uz īpašajām lietojumprogrammas prasībām.

Bieži uzdotie jautājumi un atbildes par virknes pārvēršanu veselā skaitļā Java

  1. Kas notiek, ja virknē ir rakstzīmes, kas nav ciparu?
  2. Ja virknē ir rakstzīmes, kas nav ciparu, tādas metodes kā Integer.parseInt() un Integer.valueOf() iemetīs a NumberFormatException.
  3. Kā es varu graciozi rīkoties ar konversijas kļūdām?
  4. Jūs varat izmantot a try-catch bloku noķert NumberFormatException un graciozi apstrādājiet kļūdu.
  5. Vai ir kāds veids, kā nodrošināt noklusējuma vērtību, ja reklāmguvums neizdodas?
  6. Jā, izmantojot Apache Commons Lang NumberUtils.toInt() metodi, varat norādīt noklusējuma vērtību, kas jāatgriež, ja konvertēšana neizdodas.
  7. Vai es varu pārvērst virkni ar decimālzīmi par veselu skaitli?
  8. Tieša šādas virknes pārveidošana radīs izņēmumu. Vispirms to vajadzētu parsēt uz a float vai double, pēc tam pārsūtiet uz an int.
  9. Kāda ir atšķirība starp Integer.parseInt() un Integer.valueOf()?
  10. Integer.parseInt() atgriež primitīvu int, savukārt Integer.valueOf() atgriež an Integer objektu.
  11. Vai es varu izmantot Scanner konvertēšanai konsoles lietojumprogrammā?
  12. Jā, Scanner klase ir ideāli piemērota lietotāja ievades lasīšanai un virkņu konvertēšanai veselos skaitļos.
  13. Vai ir kāda metode virknes konvertēšanai par veselu skaitli vienā koda rindā?
  14. Jā, jūs varat izmantot Integer.parseInt() vai Integer.valueOf() vienā rindā, lai pārvērstu virkni par veselu skaitli.

Diskusijas par virkni pārvēršana uz int pārvēršana

Virknes pārvēršana par veselu skaitli Java ir pamatprasme, ko var veikt, izmantojot dažādas metodes. Pareizās metodes izpratne un izvēle ir atkarīga no jūsu lietojumprogrammas īpašajām vajadzībām. Neatkarīgi no tā, vai izmantojat pamata metodes, piemēram, Integer.parseInt() un Integer.valueOf(), vai izturīgākus risinājumus, piemēram, Scanner klases un trešo pušu bibliotēkās, šo metožu apgūšana nodrošina, ka varat efektīvi un produktīvi apstrādāt virknes pārvēršanu veselos skaitļos.