Überprüfen ob Eingabe eine Zahl ist?
muenzchen
- java
Hallo!
Ich lesen eine Eingabe ein und möchte jetzt überprüfen ob es eine Zahl ist. Geht das irgendwie?
Danke und schönen Nachmittag noch!
Hallo,
Ich lesen eine Eingabe ein und möchte jetzt überprüfen ob es eine Zahl ist. Geht das irgendwie?
Wie man das direkt überprüfen kann, ist mir nicht bekannt.
Du kannst jedoch mit der statischen Methode Integer.parseInt(String)
den übergebenen String in einen integer-Wert "umwandeln" lassen.
Sollte sich der String nicht in einen integer-Wert umwandeln lassen,
wird eine "NumberFormatException" geworfen. Du kannst diese abfangen und
weißt damit, ob sich der String umwandeln läßt oder nicht.
Nähere Infos findest du in der API-Doku zu Integer.parseInt(String).
Gruß
Slyh
das müsste ich ja dann mit try und catch machen, nicht?
was ich nämlich will, ist für jeden fall eine andere Funktion aufzurufen. also wenn zahl dann das, wenn nicht dann das
wie würde das denn dann gehen?
Hallo,
das müsste ich ja dann mit try und catch machen, nicht?
Ja.
was ich nämlich will, ist für jeden fall eine andere Funktion aufzurufen. also wenn zahl dann das, wenn nicht dann das
wie würde das denn dann gehen?
Dann mach's so:
try {
Integer.parseInt(myInput);
methodForNumber();
} catch (NumberFormatException e) {
methodForNonNumber();
}
Das ist allerdings kein sehr schöner Code. Besser wäre vermutlich
folgendes:
boolean isNumber = true;
try {
Integer.parseInt(myInput);
} catch (NumberFormatException e) {
isNumber = false
}
if (isNumber) {
methodForNumber();
} else {
methodForNonNumber();
}
Vielleicht gibt es aber wirklich eine Methode, mit der sich einfach
überprüfen läßt, ob sich ein String in einer Zahl umwandeln läßt.
Diese wäre mir dann aber noch nicht über den Weg gelaufen.
Gruß
Slyh
ok, ich habs jetzt so gemacht, jetzt ergibt sich nur wieder ein neues Problem:
wie gebe ich jetzt die Eingabe, also myInput, weiter an die Funktionen, die ich aufrufe?
Hallo,
wie gebe ich jetzt die Eingabe, also myInput, weiter an die Funktionen, die ich aufrufe?
So wie immer.
(Ich denke, ich verstehe dein Problem nicht.)
Gruß
Slyh
Ich kenne mich mit Java nicht so aus.
Ich habs so probiert:
try {
Integer.parseInt(myInput);
methodForNumber(myInput);
}
das myInput weiterzugeben an methodForNumber(), aber damit hat er ein Problem.
Hallo,
try {
Integer.parseInt(myInput);
methodForNumber(myInput);
}
Doch, genau so geht das. Hast du überhaupt eine Methode
"methodForNumber" geschrieben, die einen String als Übergabeparameter
erwartet?
aber damit hat er ein Problem.
Das ist keine Fehlerbeschreibung.
Gruß
Slyh
try {
Integer.parseInt(myInput);
methodForNumber(myInput);
}
So übergebe ich es.
Und methodForNumber sieht dann so aus:
public static void methodForNumber(myInput) {
...
}
Hallo,
public static void methodForNumber(myInput) {
...
}
public static void methodForNumber(String input) {
^^^^^^
Ähm, ich würde dir nahelegen, vielleicht nochmal die Grundlagen
der Java-Programmierung nachzulesen.
Gruß
Slyh
Danke!
Hab ich vergessen.
Die Grundlagen schaue ich mir schon an, keine Sorge :D
mfg, muenzchen
Ich lesen eine Eingabe ein und möchte jetzt überprüfen ob es eine Zahl ist. Geht das irgendwie?
Hallo muenzchen!
in Javascript gibt es eine kurze Vergleichsanweisung:
if(isNaN(muenzchen)) gibt "true,false" aus
"isNaN " steht für is-not-a-number
MoinMoin
Klaus