Wie überprüft man, ob eine Zeichenkette in Java eine ganze Zahl ist
-
Prüfen, ob die Zeichenkette eine ganze Zahl ist, durch
Character.digit()
in Java -
Prüfung, ob die Zeichenkette eine ganze Zahl ist, durch
string.matches(pattern)
in Java -
Prüfen Sie mit
Scanner.nextInt(radix)
in Java, ob die Zeichenkette eine ganze Zahl ist
String und Ganzzahlen in Java werden oft zum Speichern von Daten verwendet, aber manchmal möchten wir vielleicht prüfen, ob ein Datentyp Elemente enthält, die mit einem anderen Datentyp kompatibel sind oder nicht.
Da wir wissen, dass eine Zeichenkette Alphabete, Symbole und Zahlen enthalten kann, ist es nützlich, den Datentyp zu bestimmen, den unsere Zeichenkette enthält. Wir werden Beispiele für die Überprüfung der Zeichenkette mit verschiedenen Methoden sehen.
Prüfen, ob die Zeichenkette eine ganze Zahl ist, durch Character.digit()
in Java
Wir können sehen, dass das folgende Beispiel drei Strings
hat, die wir an die Funktion isStringInteger(stringToCheck, radix)
übergeben können. Radix gibt den Bereich der Zahl an, die wir erhalten wollen, hier verwenden wir 10, was den Bereich von 0 bis 9 erlaubt.
Character.digit()
prüft jedes Zeichen in der Zeichenkette und gibt eine Zahl größer als 0 zurück, wenn es sich um eine Ziffer handelt. Es können auch zusätzliche bedingte Anweisungen hinzugefügt werden, um das Ergebnis genau zu machen.
public class Main {
public static void main(String[] args) {
String str1 = "ABC123";
String str2 = "3030";
String str3 = "-9";
boolean integerOrNot1 = isStringInteger(str1, 10);
System.out.println("Is " + str1 + " an Integer? -> " + integerOrNot1);
boolean integerOrNot2 = isStringInteger(str2, 10);
System.out.println("Is " + str2 + " an Integer? -> " + integerOrNot2);
boolean integerOrNot3 = isStringInteger(str3, 10);
System.out.println("Is " + str3 + " an Integer? -> " + integerOrNot3);
}
public static boolean isStringInteger(String stringToCheck, int radix) {
if (stringToCheck.isEmpty())
return false; // Check if the string is empty
for (int i = 0; i < stringToCheck.length(); i++) {
if (i == 0 && stringToCheck.charAt(i) == '-') { // Check for negative Integers
if (stringToCheck.length() == 1)
return false;
else
continue;
}
if (Character.digit(stringToCheck.charAt(i), radix) < 0)
return false;
}
return true;
}
}
Ausgabe:
Is 12000003 an Integer? -> true
Prüfung, ob die Zeichenkette eine ganze Zahl ist, durch string.matches(pattern)
in Java
Bei der nächsten Methode zur Identifizierung, ob die Zeichenkette ganzzahlige Elemente enthält, können wir den Regulären Ausdruck verwenden, der helfen kann, einem bestimmten Muster, d.h. einem numerischen Wert, zu entsprechen. -?\\d+
ist der Ausdruck, den wir mit der Zeichenkette abgleichen können und das Ergebnis in der Art boolisch
erhalten.
public class Main {
public static void main(String[] args) {
String str1 = "ABC123";
String str2 = "123";
String str3 = "000000009";
boolean integerOrNot1 = str1.matches("-?\\d+");
System.out.println("Is " + str1 + " an Integer? -> " + integerOrNot1);
boolean integerOrNot2 = str2.matches("-?\\d+");
System.out.println("Is " + str2 + " an Integer? -> " + integerOrNot2);
boolean integerOrNot3 = str3.matches("-?\\d+");
;
System.out.println("Is " + str3 + " an Integer? -> " + integerOrNot3);
}
}
Ausgabe:
Is ABC123 an Integer? -> false
Is 123 an Integer? -> true
Is 000000009 an Integer? -> true
Prüfen Sie mit Scanner.nextInt(radix)
in Java, ob die Zeichenkette eine ganze Zahl ist
Wir können auch die berühmte Scanner()
-Klasse von Java verwenden. Ihre nextInt()
Methode kann prüfen, ob die angegebene Zeichenkette vom Typ Int
ist oder nicht.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String str1 = "ABC123";
String str2 = "3030";
String str3 = "000000009";
System.out.println("Is " + str1 + " an Integer? -> " + isStringInteger(str1, 10));
System.out.println("Is " + str2 + " an Integer? -> " + isStringInteger(str2, 10));
System.out.println("Is " + str3 + " an Integer? -> " + isStringInteger(str3, 10));
}
public static boolean isStringInteger(String stringToCheck, int radix) {
Scanner sc = new Scanner(stringToCheck.trim());
if (!sc.hasNextInt(radix))
return false;
sc.nextInt(radix);
return !sc.hasNext();
}
}
Ausgabe:
Is ABC123 an Integer? -> false
Is 3030 an Integer? -> true
Is 000000009 an Integer? -> true
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java String
- So führen Sie die Konvertierung von String in String-Array in Java durch
- Wie entferne ich eine Unterzeichenkette aus einer Zeichenkette in Java
- So konvertieren Sie Byte-Array in Hex-String in Java
- Wie man Java-String in Byte konvertiert
- Generieren Sie eine zufällige Zeichenkette in Java
- Die Swap-Methode in Java