WinFuture-Forum.de: Eingabekontrolle Auf "strings" In Java ... - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Eingabekontrolle Auf "strings" In Java ...


#1 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

  geschrieben 29. April 2006 - 16:22

Hallo,

ich steh grad vor dem problem, eine nutzereingabe zu kontrollieren, eigentlich kein problem, dachte ich, trotzdem hat es bis jetzt noch nicht geklappt :)

problem: ich möchte einen zahlenwert aus einem textfeld in eine variable speichern, punktkorrektion ist auch kein problem mit replace, aber wie kontrolliere ich, wenn jemand buchstaben eingibt?

String anz_str = textField1.getText().replace(',','.');
int anz = (int)(Math.round(Double.valueOf(anz_str)));

if (anz == false) ? funzt nicht

if (anz == nixdrin) ?



bin für jeden tipp dankbar ;)


gruß
du ciel
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 29. April 2006 - 16:35

Dann wird das Double.valueOf() ganz einfach mit einer NumberFormatException abbrechen.

import static Math.round;
...
final String anz_str = textField1.getText().replace(',','.');
int anz;
try {
anz = (int)(round(Double.valueOf(anz_str)));
} catch (NumberFormatException e) {
//Fehlerbehandlung
}


Aber warum lässt du eigentlich Double-Werte in der Eingabe zu, wenn du doch ohnehin nur Integers willst?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

geschrieben 29. April 2006 - 17:24

danke, funktioniert ...

warum double:
was ist wenn jemand 12,5 eingibt, ich aber nur Integer verarbeiten kann? anstatt ne fehlermeldung auszugeben, runde ich die falsche eingabe und spare ihm die erneute eingabe ... Integer rundet beim einlesen des strings ja nicht automatisch auf/ab - habs grad probiert ...
0

#4 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 30. April 2006 - 00:39

Und warum erlaubt du überhaupt etwas anderes als Zahlen bei der Eingabe?
Warum überprüfst du nicht die Eingabe bei Änderung?

Außerdem verzichtest du darauf, dem Benutzer mitzuteilen, was eine gültige Eingabe sein soll. "Do what I mean" ist hingegen ein fataler Ansatz.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#5 Mitglied ist offline   du ciel 

  • Gruppe: aktive Mitglieder
  • Beiträge: 148
  • Beigetreten: 03. Dezember 04
  • Reputation: 0

geschrieben 30. April 2006 - 10:41

ich wüßte jetzt nicht, wie ich der eingabe sage: "heh, nimm bitte nur die zahlen und nix anderes vom user eingetipptes auf" ... es läuft doch immer auf die auswertung der zeichenkette hinaus .. ? .. und mögliche nicht-zahlen werden ja jetzt mit der catch-anweisung abgefangen ...

kannst ja mal den anhang ausführen, ich denke es müsste alles eindeutig sein ...

nur eine abfrage ob eine bestimmte textdatei (nicht) vorhanden ist, fehlt momentan noch, aber das ist ne andere geschichte ...

Dieser Beitrag wurde von du ciel bearbeitet: 30. April 2006 - 10:46

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0