how convert java string int tutorial with examples
Ta vadnica razlaga načine pretvorbe Java String v Integer z uporabo metod Integer.parseInt in Integer.ValueOf s primeri kode:
Zajeli bomo naslednji dve statični metodi razreda Integer, ki se uporabljata za pretvorbo Java Stringa v vrednost int:
- Integer.parseInt ()
- Integer.valueOf ()
=> Tukaj preverite VSE Vadnice za Java
Kaj se boste naučili:
Pretvorba Java String v Int
Razmislimo o scenariju, kjer moramo s številko izvesti nekakšno aritmetično operacijo, vendar je ta številčna vrednost na voljo v obliki niza. Recimo, da je številka naložena kot besedilo, ki prihaja iz besedilnega polja spletne strani ali besedilnega področja spletne strani.
V takem scenariju moramo najprej pretvoriti ta niz, da pridobimo številke v celoštevilčni obliki.
Na primer, razmislimo o scenariju, ko želimo dodati dve številki. Te vrednosti so pridobljene kot besedilo z vaše spletne strani kot '300' in '200', zato želimo s temi številkami izvesti aritmetično operacijo.
Razumimo to s pomočjo vzorčne kode. Tu poskušamo dodati dve številki '300' in '200' in ju dodeliti spremenljivki 'c'. Ko tiskamo 'c', pričakujemo izhod na konzoli kot '500'.
package com.softwaretestinghelp; public class StringIntDemo{ public static void main(String() args) { //Assign text '300' to String variable String a='300'; //Assign text '200' to String variable String b='200'; //Add variable value a and b and assign to c String c=a+b; //print variable c System.out.println('Variable c Value --->'+c);//Expected output as 500 } } Here is the program Output : Variable c Value --->300200
Toda v zgornjem programu je dejanski izhod, natisnjen na konzoli,
„Spremenljivka c Vrednost -> 300200“ .
kako pretvoriti char v niz c ++
Kaj bi lahko bil razlog za tiskanje tega izpisa?
Odgovor na to je, da ko naredimo a + b, uporablja operater ‘+’ kot združitev. Torej, v c = a + b; Java združuje niza a in b, tj. Povezuje dva niza '300' in '200' ter tiska '300200'.
Torej, to se zgodi, ko poskušamo dodati dva niza:
Torej, kaj je treba storiti, če želimo dodati ti dve številki?
Za to moramo najprej pretvoriti te nize v številke in nato opraviti aritmetično operacijo teh števil. Za pretvorbo Java Stringa v int lahko uporabimo naslednje metode, ki jih ponuja razred Java Integer.
- Integer.parseInt ()
- Integer.valueOf ()
Oglejmo si te metode eno za drugo podrobno.
# 1) Uporaba metode Java Integer.parseInt ()
Metodo parseInt () zagotavlja razred Integer razreda. Razred Integer se imenuje razred Wrapper, saj v predmet zavije vrednost primitivnega tipa int.
Oglejmo si spodnji podpis metode:
javni statični int parseInt (String str) vrže NumberFormatException
public static Integer valueOf (String str) vrže NumberFormatException
To je statična metoda, ki jo nudi razred Integer, ki vrne objekt razreda Integer z vrednostjo, ki jo poda objekt String, ki mu je poslan. Tukaj je interpretacija podanega argumenta izvedena kot podpisano decimalno celo število.
To je enako kot argument, posredovan metodi parseInt (java.lang.String). Vrnjeni rezultat je objekt razreda Integer, ki predstavlja celoštevilčno vrednost, določeno z nizom. Z enostavnimi besedami metoda valueOf () vrne objekt Integer, enak vrednosti
novo celo število (Integer.parseInt (str))
Tu je parameter 'str' niz, ki vsebuje celoštevilčno predstavitev, metoda pa vrne objekt Integer, ki vsebuje vrednost, ki jo v metodi predstavlja 'str'.
Ta metoda vrže izjemo NumberFormatException kadar niz ne vsebuje razčlenjenega celotnega števila.
Metoda Integer.parseInt () za niz brez znakov
Poskusimo razumeti, kako uporabiti to metodo Integer.parseInt () v istem programu Java, ki smo ga videli v prejšnjem vzorcu.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert String to int Java program * using Integer.parseInt() method using String having decimal digits without * ASCII sign i.e. plus + or minus - * */ public class StringIntDemo { public static void main(String() args) { //Assign text '300' to String variable a String a='300'; //Pass a i.e.String “300” as a parameter to parseInt() //to convert String 'a' value to integer //and assign it to int variable x int x=Integer.parseInt(a); System.out.println('Variable x value --->'+x); //Assign text '200' to String variable b String b='200'; //Pass b i.e.String “200” as a parameter to parseInt() //to convert String 'b' value to integer //and assign it to int variable y int y=Integer.parseInt(b); System.out.println('Variable y value --->'+y); //Add integer values x and y i.e.z = 300+200 int z=x + y; //convert z to String just by using '+' operator and appending '' String c=z + ''; //Print String value of c System.out.println('Variable c value --->'+c); } }
Tu je program Output:
Vrednost x spremenljivke -> 300
Spremenljivka in vrednost -> 200
Vrednost c spremenljivke -> 500
Torej, zdaj lahko dobimo želeni izhod, to je vsoto dveh števil, ki sta predstavljeni kot besedilo, tako da ju pretvorimo v vrednost int in nato izvedemo dodatno operacijo teh števil.
Metoda Integer.parseInt () za niz z znaki
Kot je razvidno iz opisa zgornje metode Integer.parseInt (), je prvi znak lahko znak ASCII minus '-' za navedbo negativne vrednosti ali znak ASCII plus '+' za navedbo pozitivnega vrednost. Poskusimo z istim programom z negativno vrednostjo.
Oglejmo si vzorčni program z vrednostmi in znaki, kot sta '+' in '-'.
Uporabili bomo podpisani nizovni vrednosti, kot sta '+75' in '-75000', razčlenili jih na celo število in nato primerjali, da bi našli večji številki med tema dvema številkama:
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert string to int Java * program using Integer.parseInt() method * on string having decimal digits with ASCII signs i.e. plus + or minus - * @author * */ public class StringIntDemo1 { public static void main(String() args) { //Assign text '75' i.e.value with ‘+’ sign to string variable a String a='+75'; //Pass a i.e.String “+75” as a parameter to parseInt() //to convert string 'a' value to integer //and assign it to int variable x int x =Integer.parseInt(a); System.out.println('Variable x value --->'+x); //Assign text '-75000' i.e.value with ‘-’ sign to string variable b String b='-75000'; //Pass b i.e.String “-75000” as a parameter to parseInt() //to convert string 'b' value to integer //and assign it to int variable y int y = Integer.parseInt(b); System.out.println('Variable y value --->'+y); //Get higher value between int x and y using Math class method max() int maxValue = Math.max(x,y); //convert maxValue to string just by using '+' operator and appending '' String c = maxValue + ''; //Print string value of c System.out.println('Larger number is --->'+c); }
Tu je program Output:
Vrednost spremenljivke x -> 75
Spremenljivka in vrednost -> - 75000
Večje število je -> 75
Metoda Integer.parseInt () za niz z vodilnimi ničlami
V nekaterih primerih moramo opraviti tudi aritmetične operacije s števili z vodilnimi ničlami. Poglejmo, kako pretvoriti niz s številko z začetnimi ničlami v vrednost int z metodo Integer.parseInt ().
Na primer, v nekaterih sistemih programske opreme na finančnem področju je običajna oblika številke ali zneska računa z vodilnimi ničlami. Tako kot v naslednjem vzorčnem programu izračunavamo zapadlost zneska fiksne vloge z uporabo obrestne mere in zneska fiksne vloge.
Tu je količina določena z uporabo začetnih ničel. Te vrednosti niza z začetnimi ničlami se razčlenijo na celoštevilčne vrednosti z uporabo Integer.
metoda parseInt (), kot je razvidno iz spodnjega programa:
package com.softwaretestinghelp; /** * This class demonstrates sample program to convert string with leading zeros to int java * using Integer.parseInt() method * * @author * */ public class StringIntDemo2{ public static void main(String() args) { //Assign text '00010000' i.e.value with leading zeros to string variable savingsAmount String fixedDepositAmount='00010000'; //Pass 0010000 i.e.String “0010000” as a parameter to parseInt() //to convert string '0010000' value to integer //and assign it to int variable x int fixedDepositAmountValue = Integer.parseInt(fixedDepositAmount); System.out.println('You have Fixed Deposit amount --->'+ fixedDepositAmountValue+' INR'); //Assign text '6' to string variable interestRate String interestRate = '6'; //Pass interestRate i.e.String “6” as a parameter to parseInt() //to convert string 'interestRate' value to integer //and assign it to int variable interestRateVaue int interestRateValue = Integer.parseInt(interestRate); System.out.println('You have Fixed Deposit Interst Rate --->' + interestRateValue+'% INR'); //Calculate Interest Earned in 1 year tenure int interestEarned = fixedDepositAmountValue*interestRateValue*1)/100; //Calcualte Maturity Amount of Fixed Deposit after 1 year int maturityAmountValue = fixedDepositAmountValue + interestEarned; //convert maturityAmount to string using format()method. //Use %08 format specifier to have 8 digits in the number to ensure the leading zeroes String maturityAmount = String.format('%08d', maturityAmountValue); //Print string value of maturityAmount System.out.println('Your Fixed Deposit Amount on maturity is --->'+ maturityAmount+ ' INR'); } }
Tu je program Output:
Imate določen znesek za polog -> 10000 INR
Imate fiksno obrestno mero za vloge -> 6% INR
Znesek fiksne vloge ob zapadlosti je -> 00010600 INR
Torej v zgornjem vzorčnem programu posredujemo '00010000' metodi parseInt () in izpišemo vrednost.
String fixedDepositAmount='00010000'; int fixedDepositAmountValue = Integer. parseInt (fixedDepositAmount); System. out .println('You have Fixed Deposit amount --->'+ fixedDepositAmountValue+' INR');
Na konzoli bomo videli vrednost, saj imate fiksni znesek -> 10000 INR
Tu se med pretvorbo v celoštevilčno vrednost odstranijo vodilne ničle.
Nato smo izračunali znesek zapadlosti fiksnega depozita kot celoštevilčno vrednost „10600“ in oblikovali vrednost rezultata s pomočjo specifikatorja formata% 08, da pridobimo vodilne ničle.
String maturityAmount = String. format ('%08d', maturityAmountValue);
Ko natisnemo vrednost oblikovanega niza,
System. out .println('Your Fixed Deposit Amount on maturity is --->'+ maturityAmount+ ' INR');
Vidimo, da se izpis natisne na konzoli kot Znesek fiksne vloge ob zapadlosti je -> 00010600 INR
NumberFormatException
V opisu Integer.parseInt () metode, videli smo tudi izjemo, ki jo je vrgla metoda parseInt (), tj. NumberFormatException.
Ta metoda vrže izjemo, tj. NumberFormatException kadar niz ne vsebuje razčlenjenega celotnega števila.
Torej, poglejmo scenarij, v katerem je vržena ta izjema.
Oglejmo si naslednji vzorčni program za razumevanje tega scenarija. Ta program pozove uporabnika, da vnese ocenjeni odstotek in vrne prejeto oceno. Za to razčleni vrednost String, ki jo vnese uporabnik, na celoštevilčno vrednost.
Package com.softwaretestinghelp; import java.util.Scanner; /** * This class demonstrates sample code to convert string to int Java * program using Integer.parseInt() method having string with non decimal digit and method throwing NumberFormatException * @author * */ public class StringIntDemo3{ private static Scanner scanner; public static void main(String() args){ //Prompt user to enter input using Scanner and here System.in is a standard input stream scanner = new Scanner(System.in); System.out.print('Please Enter the percentage you have scored:'); //Scan the next token of the user input as an int and assign it to variable precentage String percentage = scanner.next(); //Pass percentage String as a parameter to parseInt() //to convert string 'percentage' value to integer //and assign it to int variable precentageValue int percentageValue = Integer.parseInt(percentage); System.out.println('Percentage Value is --->' + percentageValue); //if-else loop to print the grade if (percentageValue>=75) { System.out.println('You have Passed with Distinction'); }else if(percentageValue>60) { System.out.println('You have Passed with Grade A'); }else if(percentageValue>50) { System.out.println('You have Passed with Grade B'); }else if(percentageValue>35) { System.out.println('You have Passed '); }else { System.out.println('Please try again '); } } }
Tu je program Output:
Poskusimo z dvema različnima vhodnima vrednostma, ki ju vnese uporabnik.
1. Z veljavno celoštevilsko vrednostjo
Vnesite odstotek, ki ste ga dosegli: 82
Odstotna vrednost je -> 82
Sprejeli ste z odliko
2. Z neveljavno celoštevilsko vrednostjo
Vnesite odstotek, ki ste ga dosegli: 85a
Izjema v niti »main« java.lang.NumberFormatException: Za vhodni niz: »85a«
na java.lang.NumberFormatException.forInputString (neznan vir)
na java.lang.Integer.parseInt (neznan vir)
na java.lang.Integer.parseInt (neznan vir)
na com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
Torej, kot je razvidno iz izhoda programa,
# 1) Ko uporabnik kot vhod vnese veljavno vrednost, tj. 82, se na konzoli prikaže izhod:
Odstotna vrednost je -> 82
Sprejeli ste z odliko
# 2) Ko uporabnik kot vhod vnese neveljavno vrednost, tj. 85a, je na konzoli prikazan izhod:
Vnesite odstotek, ki ste ga dosegli: 85a
Izjema v niti »main« java.lang.NumberFormatException: Za vhodni niz: »85a«
na java.lang.NumberFormatException.forInputString (neznan vir)
na java.lang.Integer.parseInt (neznan vir)
na java.lang.Integer.parseInt (neznan vir)
na com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
java.lang.NumberFormatException se vrže med razčlenjevanjem 85a v metodi Integer.parseInt (), saj ima '85a' znak 'a', ki ni decimalna številka, niti znak ASCII '+' ali '-' tj '85a' ni razčlenljiv celo število za metodo Integer.parseInt ().
Gre torej za enega od načinov pretvorbe Java Stringa v int. Poglejmo, kako Java pretvori String v int, tj. Z uporabo metode Integer.valueOf ().
# 2) Uporaba Integer. valueOf () Metoda
metoda valueOf () je tudi statična metoda razreda Integer.
Oglejmo si spodnji podpis metode:
javni statični int parseInt (String str) vrže NumberFormatException
To je statična metoda, ki jo nudi razred Integer, ki vrne objekt classInteger z vrednostjo, ki jo določi objekt String, ki mu je poslan. Tukaj je interpretacija podanega argumenta izvedena kot podpisano decimalno celo število.
To je enako kot argument, posredovan metodi parseInt (java.lang.String). Vrnjeni rezultat je objekt razreda Integer, ki predstavlja celoštevilčno vrednost, ki jo določa niz. Z enostavnimi besedami metoda valueOf () vrne objekt Integer, enak vrednosti novo Celo število (Integer.parseInt (str))
Tu je parameter 'str' niz, ki vsebuje celoštevilčno predstavitev, metoda pa vrne objekt Integer, ki vsebuje vrednost, ki jo v metodi predstavlja 'str'. Ta metoda vrže izjemo NumberFormatException kadar niz ne vsebuje razčlenjenega celotnega števila.
Razumejmo, kako uporabiti to metodo Integer.valueOf ().
Spodaj je vzorec programa. Ta vzorčna koda izračuna povprečno temperaturo 3 dni v tednu. Tu so vrednosti za pretvorbo temperature dodeljene kot vrednost String v celoštevilčno vrednost. Za pretvorbo tega niza v celo število poskusimo uporabiti metodo Integer.valueOf ().
Package com.softwaretestinghelp; /** * This class demonstrates a sample program to convert string to integer in Java * using Integer.valueOf() method * on string having decimal digits with ASCII signs i.e.plus + or minus - * @author * */ public class StringIntDemo4 { public static void main(String() args) { //Assign text '-2' i.e.value with ‘-’ sign to string variable sundayTemperature String sundayTemperature= '-2'; //Pass sundayTemperature i.e.String “-2” as a parameter to valueOf() //to convert string 'sundayTemperature' value to integer //and assign it to Integer variable sundayTemperatureValue Integer sundayTemperatureValue = Integer.valueOf(sundayTemperature); System.out.println('Sunday Temperature value --->'+ sundayTemperatureValue); //Assign text '4' to string variable mondayTemperature String mondayTemperature = '4'; //Pass mondayTemperature i.e.String “4” as a parameter to valueOf() //to convert string 'mondayTemperature ' value to integer //and assign it to Integer variable mondayTemperature Integer mondayTemperatureValue = Integer.valueOf(mondayTemperature); System.out.println('Monday Temperature value --->'+ mondayTemperatureValue); //Assign text '+6' i.e.value with ‘+’ sign to string variable //tuesdayTemperature String tuesdayTemperature = '+6'; //Pass tuesdayTemperature i.e.String “+6” as a parameter to valueOf() //to convert string 'tuesdayTemperature' value to integer //and assign it to Integer variable tuesdayTemperature Integer tuesdayTemperatureValue = Integer.valueOf(tuesdayTemperature); System.out.println('Tuesday Temperature value --->'+ tuesdayTemperatureValue); //Calculate Average value of 3 days temperature //avgTEmp = (-2+4+(+6))/3 = 8/3 = 2 Integer averageTemperatureValue = (sundayTemperatureValue+mondayTemperatureValue +tuesdayTemperatureValue)/3; //convert z to string just by using '+' operator and appending '' String averageTemperature = averageTemperatureValue+''; //Print string value of x System.out.println('Average Temperature over 3 days --->'+averageTemperature); } }
Tu je program Output:
Vrednost temperature v nedeljo -> - 2
Ponedeljek Vrednost temperature -> 4
Torek Vrednost temperature -> 6
Povprečna temperatura v 3 dneh -> 2
Vadba: Če lahko pretvorimo vrednosti String, kot je prikazano zgoraj, lahko poskusimo z nizom decimalno vejico
Na primer, namesto “-2”, lahko poskusimo z “-2,5”?
Poskusite zgornjo vzorčno kodo z metodo parseInt () ali valueOf (), ki dodeli String sundayTemperature = “-2,5”;
Namig: Znova preberite podpis metode o vrednostih, ki jih je mogoče razčleniti.
Odgovor: Če preizkusite zgornji vzorčni program z nizom nedeljaTemperatura = “-2,5, vrgel bo NumberFormatException, saj sta vrednosti argumenta String za parseInt () in valueOf () ASCII plus '+' ali minus '-' znak in decimalne številke.
Torej, očitno ».« Ni veljaven. Ker ti dve metodi zagotavljata razred Integer, bi bile vrednosti s plavajočo vejico, kot je '2.5', nerazčlenjive vrednosti teh metod.
Tako smo obravnavali obe metodi razreda Integer za pretvorbo Stringa v int v Javi.
Pogosta vprašanja o pretvorbi niza v int v Javi
V # 1) Kako lahko pretvorim String v int v Javi?
Odgovor: V Java String v int pretvorbo lahko izvedemo na dva načina, tj. Z uporabo naslednjih metod razredov Integer:
- Integer.parseInt ()
- Integer.valueOf ()
V # 2) Kako razčlenite celo število?
Odgovor: Razred Integer ponuja statične metode, ki se uporabljajo za razčlenitev celoštevilčne vrednosti za pretvorbo Stringa v vrednost int, to je parseInt () in valueOf ().
V # 3) Kaj je parseInt ()?
Odgovor: parseInt () je statična metoda, ki jo nudi razred Integer, ki se uporablja za pretvorbo Java Stringa v vrednost int, kjer se vrednost String posreduje kot argument, metoda pa vrne celoštevilčno vrednost.
Na primer, int x = Integer.parseInt (“100”) vrne vrednost int 100
V # 4) Kaj je razčlenjevanje v Javi?
Odgovor: Razčlenjevanje v Javi je v bistvu pretvorba vrednosti predmeta enega podatkovnega tipa v drug podatkovni tip. Na primer, Integer.valueOf (str) pretvori 'str', ki je predmet podatkovnega tipa String, v objekt podatkovnega tipa Integer.
Zaključek
V tej vadnici smo raziskali, kako pretvoriti String v int v Javi z uporabo naslednjih statičnih metod razreda ovitka Integer:
- Integer.parseInt ()
- Integer.valueOf ()
Obravnavali smo tudi primer, ko se NumberFormatException vrne za neveljaven niz števil.
Nadaljnje branje = >> 8 načinov za pretvorbo Integer v Sting v Javi
=> Tu raziščite preprosto serijo usposabljanja za Java
Priporočeno branje
- Java String z vmesnikom String Buffer in String Builder
- Vadnica za Java String | Nizovske metode Java s primeri
- Java Reverse String: Vadnica s primeri programiranja
- Java String vsebuje () Vadnico metode s primeri
- Dolžina niza Java () Metoda s primeri
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- Java Integer in Java BigInteger Class z primeri
- Metoda Java substring () - Vadnica s primeri