Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wie überprüfe ich eine Zahl (in einer Char-Variable) auf einstelligkeit?
Hey Leute,
ich stehe gerade vor folgendem Problem:
Ein Benutzer soll Zahlen von 0-9 und die Standardrechenoperationen eingeben können.
Nun möchte ich die eingabe überprüfen, ob der Benutzer nicht eine 10 oder irgendwelchen misst eingegeben hat. Da der Benutzer ja auch Rechenzeichen eingeben darf, kann ich keine Int.variable verwenden und da die char-variable nur einen wert annehmen kann (also keine 12 oder so) kann ich nun nicht überprüfen ob der Benutzer sich an die Vorgabe hält.
Gibt es hier irgend eine Möglichkeit dies dennoch zu prüfen?
PS. die Eingabe läuft immer über die gleiche Variable (ist ein char-array)
Bsp:
Eingabe:1--> char[0]
Eingabe:2--> char[1]
Eingabe:+ --->char[0]= char[0]+ char[1]
Eingabe:2--->char[1]
Eingabe: 32---> hier wird nur die 3 in char[2] geschrieben, es soll ein Fehler ausgegeben werden
kannst du mal ein konkretes beispiel geben? wo soll der benutzer was genau eingeben? also ich konnte aus deiner beschreibung das problem nicht erkennen
soll denn wirklich nur eingegeben werden, machst du rein gar nix mit dem String, außer ihn vielleicht wieder auszugeben?
wenn du ihn doch auch zerlegst, um damit zu rechnen, dann fällt doch spätestens dann die Länge der einzelnen Bestandteile auf
wieso willst du die zahlen als char einlesen? benutze für die zahleneingabe int`s, und nur für dne operator char. da kannste ja dann überprüfen ob die zahl kleiner gleich 9 und größer gleich 0 ist.
dann machste ein switch case des operators
Java:
//hier main etc.
System.out.println(calc(op, eingabe1, eingabe2));
//.....
public static Double calc(char operation, int a, int b) {
switch (operation) {
case '+':
return 1.0* a + b;
case '-':
return 1.0* a - b;
case '/':
return 1.0* a / b;
case '*':
return 1.0* a * b;
default:
return null;
}
}
Hey, ja wenn man für die operation eine andere Varialbe nehmen darf, wäre das ja alles kein Thema , aber das darf ich nicht.
Es soll alles über eine Varialbe laufen
ich könnte natürlich einen String eingeben der die stellen der zeichen überprüft, sollte gehen, oder?
allerdings hab ich mich noch nicht mit Strings beschäftigt. Wie gebe ich denn strings ein?
wenn der string nur aus einem zeichen besteht, kann ich diesen ja an mein array übergeben
Wie bekommst du denn deine Eingabe?
Wenn die Eingabe ein char ist, dann kann nur ein Zeichen da drin sein (genau ein char-Wert halt ;-) ). Bleibt also nur die Eingabe als String. Dort kannst du die Länge mittels
ja das ist mir klar das char nur einen wert haben kann.
ich habe ein char-array.
und wenn ich eine zahl/einen operator eingegeben habe drücke ich eingabe und er geht ins nächste feld des arrays.
wie macht man das denn mit den strings?
ich kann dann ja prüfen ob die länge des strings >0 ist. Ich weiß nur nicht wie man strings deklariert und eine eingabe tätigt.
poste doch mal den Eingabeteil deines bisherigen Programms oder am besten das komplette Programm wenn es nicht all zu groß ist (kleiner 1000 Zeilen). Dann lässt sich bestimmt eine Lösung finden und wir müssen nicht raten