how convert java string int tutorial with examples
In diesem Lernprogramm werden die Möglichkeiten zum Konvertieren von Java-Zeichenfolgen in Integer mithilfe der Methoden Integer.parseInt und Integer.ValueOf anhand von Codebeispielen erläutert:
Wir werden die folgenden zwei statischen Methoden der Integer-Klasse behandeln, die zum Konvertieren von Java-Zeichenfolgen in int-Werte verwendet werden:
- Integer.parseInt ()
- Integer.valueOf ()
=> Überprüfen Sie ALLE Java-Tutorials hier
Was du lernen wirst:
- Konvertierung von Java-Zeichenfolgen in Int
- Fazit
Konvertierung von Java-Zeichenfolgen in Int
Stellen wir uns ein Szenario vor, in dem wir eine arithmetische Operation für eine Zahl ausführen müssen, dieser Zahlenwert jedoch in Form eines Strings verfügbar ist. Angenommen, die Nummer wird als Text abgerufen, der aus dem Textfeld einer Webseite oder einem Textbereich einer Webseite stammt.
In einem solchen Szenario müssen wir zuerst diesen String konvertieren, um Zahlen in einem ganzzahligen Format abzurufen.
Zum Beispiel, Betrachten wir ein Szenario, in dem wir zwei Zahlen hinzufügen möchten. Diese Werte werden als Text von Ihrer Webseite als '300' und '200' abgerufen, und wir möchten eine arithmetische Operation für diese Zahlen durchführen.
Lassen Sie uns dies anhand eines Beispielcodes verstehen. Hier versuchen wir, 2 Zahlen '300' und '200' hinzuzufügen und sie der Variablen 'c' zuzuweisen. Wenn wir 'c' drucken, erwarten wir die Ausgabe auf einer Konsole als '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
Im obigen Programm ist die tatsächliche Ausgabe, die auf der Konsole gedruckt wird, jedoch
‘Variable c Wert -> 300200’ .
Orakel SQL Interview Fragen für erfahrene
Was könnte der Grund für das Drucken dieser Ausgabe sein?
Die Antwort darauf lautet: Wenn wir a + b gemacht haben, wird der Operator '+' als Verkettung verwendet. Also, in c = a + b; Java verkettet die Zeichenfolgen a und b, d. H. Es verkettet zwei Zeichenfolgen '300' und '200' und druckt '300200'.
Dies geschieht also, wenn wir versuchen, zwei Zeichenfolgen hinzuzufügen:
Was ist also zu tun, wenn wir diese beiden Zahlen hinzufügen möchten?
Dazu müssen wir zuerst diese Zeichenfolgen in Zahlen konvertieren und dann eine arithmetische Operation für diese Zahlen ausführen. Um Java String in int zu konvertieren, können wir die folgenden Methoden verwenden, die von der Java Integer-Klasse bereitgestellt werden.
- Integer.parseInt ()
- Integer.valueOf ()
Sehen wir uns diese Methoden einzeln im Detail an.
# 1) Verwenden der Java Integer.parseInt () -Methode
Die Methode parseInt () wird von der Klasse Integer bereitgestellt. Die Integer-Klasse wird als Wrapper-Klasse bezeichnet, da sie einen Wert des primitiven Typs int in ein Objekt einschließt.
Schauen wir uns die Methodensignatur unten an:
public static int parseInt (String str) löst NumberFormatException aus
public static Integer valueOf (String str) löst NumberFormatException aus
Dies ist eine statische Methode, die von der Integer-Klasse bereitgestellt wird und ein Objekt einer Klasse Integer mit einem Wert zurückgibt, der durch das an sie übergebene String-Objekt angegeben wird. Hier erfolgt die Interpretation des übergebenen Arguments als vorzeichenbehaftete Dezimalzahl.
Dies entspricht dem Argument, das an die Methode parseInt (java.lang.String) übergeben wird. Das zurückgegebene Ergebnis ist ein Integer-Klassenobjekt, das den durch den String angegebenen Integer-Wert darstellt. Mit einfachen Worten, die Methode valueOf () gibt ein Integer-Objekt zurück, das dem Wert von entspricht
neue Ganzzahl (Integer.parseInt (str))
Hier ist der Parameter 'str' ein String, der die Ganzzahldarstellung enthält, und die Methode gibt ein Integer-Objekt zurück, das den Wert enthält, der durch 'str' in der Methode dargestellt wird.
Diese Methode löst eine Ausnahme aus NumberFormatException wenn der String keine analysierbare Ganzzahl enthält.
Integer.parseInt () Methode für Zeichenfolgen ohne Vorzeichen
Versuchen wir zu verstehen, wie diese Integer.parseInt () -Methode in demselben Java-Programm verwendet wird, das wir in unserem früheren Beispiel gesehen haben.
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); } }
Hier ist das Programm Ausgabe:
Variabler x-Wert -> 300
Variable und Wert -> 200
Variabler c-Wert -> 500
Jetzt können wir also die gewünschte Ausgabe erhalten, d. H. Die Summe der beiden Zahlen, die als Text dargestellt werden, indem wir diese in int-Werte umwandeln und dann eine zusätzliche Operation für diese Zahlen ausführen.
Integer.parseInt () Methode für Zeichenfolgen mit Vorzeichen
Wie aus der Beschreibung der obigen Integer.parseInt () -Methode hervorgeht, darf das erste Zeichen ein ASCII-Minuszeichen '-' für die Angabe eines negativen Werts oder ein ASCII-Pluszeichen '+' für die Angabe eines positiven Werts sein Wert. Versuchen wir dasselbe Programm mit einem negativen Wert.
Sehen wir uns das Beispielprogramm mit Werten und Vorzeichen wie '+' und '-' an.
Wir werden die vorzeichenbehafteten String-Werte wie '+75' und '-75000' verwenden und diese in Ganzzahlen analysieren und dann vergleichen, um eine größere Zahl zwischen diesen beiden Zahlen zu finden:
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); }
Hier ist das Programm Ausgabe:
Variabler x-Wert -> 75
Variable und Wert -> - 75000
Größere Zahl ist -> 75
Integer.parseInt () -Methode für Zeichenfolgen mit führenden Nullen
In einigen Fällen benötigen wir auch arithmetische Operationen für die Zahlen mit den führenden Nullen. Lassen Sie uns sehen, wie Sie einen String mit einer Nummer mit führenden Nullen mithilfe der Integer.parseInt () -Methode in einen int-Wert konvertieren.
Zum Beispiel, In einigen Softwaresystemen für Finanzdomänen ist es ein Standardformat, eine Kontonummer oder einen Betrag mit führenden Nullen zu haben. Wie im folgenden Beispielprogramm berechnen wir den Fälligkeitsbetrag des Festgeldbetrags anhand des Zinssatzes und des Festgeldbetrags.
Hier wird der Betrag mit führenden Nullen angegeben. Diese Zeichenfolgenwerte mit führenden Nullen werden mit Integer in ganzzahlige Werte analysiert.
parseInt () -Methode wie im folgenden Programm gezeigt:
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'); } }
Hier ist das Programm Ausgabe:
Sie haben einen festen Einzahlungsbetrag -> 10000 INR
Sie haben einen festen Einlagenzinssatz -> 6% INR
Ihr fester Einzahlungsbetrag bei Fälligkeit beträgt -> 00010600 INR
Im obigen Beispielprogramm übergeben wir '00010000' an die parseInt () -Methode und drucken den Wert.
String fixedDepositAmount='00010000'; int fixedDepositAmountValue = Integer. parseInt (fixedDepositAmount); System. out .println('You have Fixed Deposit amount --->'+ fixedDepositAmountValue+' INR');
Der Wert wird auf der Konsole angezeigt, wenn Sie einen festen Einzahlungsbetrag haben -> 10000 INR
Hier werden beim Konvertieren in einen ganzzahligen Wert die führenden Nullen entfernt.
Anschließend haben wir den Fälligkeitsbetrag der festen Einzahlung als ganzzahligen Wert „10600“ berechnet und den Ergebniswert mit dem Formatbezeichner% 08 formatiert, um führende Nullen abzurufen.
String maturityAmount = String. format ('%08d', maturityAmountValue);
Wenn wir den Wert des formatierten Strings drucken,
System. out .println('Your Fixed Deposit Amount on maturity is --->'+ maturityAmount+ ' INR');
Wir können sehen, dass die Ausgabe auf der Konsole gedruckt wird als Ihr fester Einzahlungsbetrag bei Fälligkeit beträgt -> 00010600 INR
NumberFormatException
In der Beschreibung von Integer.parseInt () Methode haben wir auch eine Ausnahme gesehen, die von der parseInt () -Methode ausgelöst wird, d.h. NumberFormatException.
Diese Methode löst eine Ausnahme aus, d.h. NumberFormatException wenn der String keine analysierbare Ganzzahl enthält.
Schauen wir uns also das Szenario an, in dem diese Ausnahme ausgelöst wird.
Sehen wir uns das folgende Beispielprogramm an, um dieses Szenario zu verstehen. Dieses Programm fordert den Benutzer auf, den erzielten Prozentsatz einzugeben, und gibt die erhaltene Note zurück. Dazu analysiert es den vom Benutzer eingegebenen String-Wert in einen ganzzahligen Wert.
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 '); } } }
Hier ist das Programm Ausgabe:
Versuchen wir es mit 2 verschiedenen Eingabewerten, die vom Benutzer eingegeben wurden.
1. Mit gültigem ganzzahligen Wert
Bitte geben Sie den Prozentsatz ein, den Sie erzielt haben: 82
Prozentwert ist -> 82
Sie haben mit Auszeichnung bestanden
2. Mit InValid Integer-Wert
Bitte geben Sie den Prozentsatz ein, den Sie erzielt haben: 85a
Ausnahme im Thread 'main' java.lang.NumberFormatException: Für Eingabezeichenfolge: '85a'
at java.lang.NumberFormatException.forInputString (Unbekannte Quelle)
at java.lang.Integer.parseInt (Unbekannte Quelle)
at java.lang.Integer.parseInt (Unbekannte Quelle)
at com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
Also, wie in der Programmausgabe zu sehen,
# 1) Wenn der Benutzer einen gültigen Wert eingibt, d. H. 82 als Eingabe, wird die Ausgabe auf der Konsole wie folgt angezeigt:
Prozentwert ist -> 82
Sie haben mit Auszeichnung bestanden
# 2) Wenn der Benutzer einen ungültigen Wert, d. H. 85a, als Eingabe eingibt, wird die Ausgabe auf der Konsole wie folgt angezeigt:
Bitte geben Sie den Prozentsatz ein, den Sie erzielt haben: 85a
Ausnahme im Thread 'main' java.lang.NumberFormatException: Für Eingabezeichenfolge: '85a'
at java.lang.NumberFormatException.forInputString (Unbekannte Quelle)
at java.lang.Integer.parseInt (Unbekannte Quelle)
at java.lang.Integer.parseInt (Unbekannte Quelle)
at com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
java.lang.NumberFormatException wird ausgelöst, während 85a in der Integer.parseInt () -Methode analysiert wird, da '85a' das Zeichen 'a' hat, das weder eine Dezimalstelle noch ein ASCII-Zeichen '+' oder '-' ist, dh '85a' ist nicht analysierbar Ganzzahl für die Methode Integer.parseInt ().
Dies war also eine der Möglichkeiten, Java String in int zu konvertieren. Sehen wir uns die andere Art und Weise an, in der Java String in int konvertiert, d. H. Die Integer.valueOf () -Methode verwendet.
# 2) Verwenden von Integer. valueOf () -Methode
Die Methode valueOf () ist auch eine statische Methode der Integer-Klasse.
Schauen wir uns die Methodensignatur unten an:
public static int parseInt (String str) löst NumberFormatException aus
Dies ist eine statische Methode, die von der Integer-Klasse bereitgestellt wird und ein Objekt einer classInteger mit einem Wert zurückgibt, der durch das an sie übergebene String-Objekt angegeben wird. Hier erfolgt die Interpretation des übergebenen Arguments als vorzeichenbehaftete Dezimalzahl.
Dies entspricht dem Argument, das an die Methode parseInt (java.lang.String) übergeben wird. Das zurückgegebene Ergebnis ist ein Integer-Klassenobjekt, das den durch den String angegebenen Integer-Wert darstellt. Mit einfachen Worten, die valueOf () -Methode gibt ein Integer-Objekt zurück, das dem Wert von entspricht Neu Ganzzahl (Integer.parseInt (str))
Hier ist der Parameter 'str' ein String, der die Ganzzahldarstellung enthält, und die Methode gibt ein Integer-Objekt zurück, das den Wert enthält, der durch 'str' in der Methode dargestellt wird. Diese Methode löst die Ausnahme aus NumberFormatException wenn der String keine analysierbare Ganzzahl enthält.
Lassen Sie uns verstehen, wie diese Integer.valueOf () -Methode verwendet wird.
Im Folgenden finden Sie ein Beispielprogramm. Dieser Beispielcode berechnet die Durchschnittstemperatur von 3 Tagen in der Woche. Um die Temperatur umzuwandeln, werden die Werte hier als String-Wert einem ganzzahligen Wert zugewiesen. Versuchen wir für diese Konvertierung von Zeichenfolgen in Ganzzahlen, die Methode Integer.valueOf () zu verwenden.
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); } }
Hier ist das Programm Ausgabe:
Sonntag Temperaturwert -> - 2
Montag Temperaturwert -> 4
Dienstag Temperaturwert -> 6
Durchschnittstemperatur über 3 Tage -> 2
Übung: Wenn wir String-Werte wie oben gezeigt konvertieren können, können wir Strings mit einem Dezimalpunkt versuchen
Zum Beispiel, Können wir statt '-2' '-2,5' versuchen?
Bitte versuchen Sie den obigen Beispielcode mit der Methode parseInt () oder valueOf (), die String sundayTemperature = “-2.5” zuweist.
Hinweis: Lesen Sie die Methodensignatur erneut über die analysierbaren Werte.
Antworten: Wenn Sie das obige Beispielprogramm mit String ausprobieren Sonntagstemperatur = '-2.5, es wird NumberFormatException ausgelöst, da die Werte des String-Arguments für parseInt () und valueOf () ASCII plus' + 'oder minus' - 'Vorzeichen und Dezimalstellen' sind.
Offensichtlich ist '.' Ungültig. Da diese beiden Methoden von der Integer-Klasse bereitgestellt werden, sind Gleitkommawerte wie „2.5“ für diese Methoden nicht analysierbare Werte.
Daher haben wir beide Methoden der Integer-Klasse zum Konvertieren eines Strings in int in Java erläutert.
FAQs zum Konvertieren von Zeichenfolgen in Int in Java
F # 1) Wie kann ich String in Java in int konvertieren?
Antworten: In Java kann die Konvertierung von Zeichenfolgen in int auf zwei Arten erfolgen, d. H. Unter Verwendung der folgenden Methoden von Integer-Klassenmethoden:
- Integer.parseInt ()
- Integer.valueOf ()
F # 2) Wie analysiert man eine ganze Zahl?
Antworten: Die Integer-Klasse stellt statische Methoden bereit, die zum Analysieren von Ganzzahlwerten verwendet werden, um String in int-Wert umzuwandeln, d. H. ParseInt () und valueOf ().
F # 3) Was ist parseInt ()?
Antworten: parseInt () ist eine statische Methode, die von der Integer-Klasse bereitgestellt wird und zum Konvertieren von Java-Zeichenfolgen in int-Werte verwendet wird, wobei der Zeichenfolgenwert als Argument übergeben wird und der ganzzahlige Wert von der Methode zurückgegeben wird.
Zum Beispiel, int x = Integer.parseInt ('100') gibt den int-Wert 100 zurück
F # 4) Was ist Parsen in Java?
Antworten: Das Parsen in Java ist im Grunde die Konvertierung des Werts eines Objekts eines Datentyps in einen anderen Datentyp. Zum Beispiel, Integer.valueOf (str) konvertiert 'str', ein Objekt vom Typ 'String', in ein Objekt vom Typ 'Integer'.
Fazit
In diesem Tutorial haben wir untersucht, wie String in Java mit den folgenden statischen Methoden der Integer-Wrapper-Klasse in int konvertiert wird:
- Integer.parseInt ()
- Integer.valueOf ()
Wir haben auch den Fall behandelt, in dem NumberFormatException für eine ungültige Zahlenzeichenfolge ausgelöst wird.
Weiterführende Literatur = >> 8 Methoden zum Konvertieren von Integer in Sting in Java
=> Entdecken Sie hier die Simple Java Training Series
Literatur-Empfehlungen
- Java String mit String Buffer und String Builder Tutorial
- Java String Tutorial | Java-String-Methoden mit Beispielen
- Java Reverse String: Tutorial mit Programmierbeispielen
- Java String enthält () Method Tutorial mit Beispielen
- Java String length () -Methode mit Beispielen
- JAVA-Tutorial für Anfänger: Über 100 praktische Java-Video-Tutorials
- Java Integer und Java BigInteger Klasse mit Beispielen
- Java substring () -Methode - Tutorial mit Beispielen