Zahlen aus Textfield ausesen

Status
Nicht offen für weitere Antworten.

noob@work

Mitglied
Hi,

habe bereits im forum etwas zu meinem problem gesucht bin jedoch noch nicht fündig geworden.

Also ich möchte aus einem TextField eine Integer Zahl auslesen, sodass ich dann mit dieser weiterrechnen kann (also in eien int variable reinschreiben).
das auslesen von wörtern mache ich mit << string name = tfname.getText(); >> etc...

Könnt ihr mir vielleicht helfen?
 
Das Auslesen geht genauso. Du musst die Zahl dann nur umwandeln...
Code:
String eingeleseneZahl = "123";
int zahl = 0;

try {
    zahl = Integer.parseInt(eingeleseneZahl);
} catch (NumberFormatException nfe) {
    System.out.println("War wohl doch keine Zahl.");
}

Die Exception wird geworfen, wenn der eingegebene Text keine Zahl ist.
 
Du kannst voher mit String#isDigit() auf Zahlen prüfen.

Edit, was ich hier geschrieben habe ist verkehrt, man sollte doch ruhig mal in der API-Doc nachgucken. :wink:
Roar hat's aber richtig korrigiert. 🙂
 
hi
hab noch ein problem.

versuche noten nach Prozentzahlen auszugeben:

Code:
if (prozent < 25)
   {
          System.out.println("Note:6");
          int note = 6;
   }
etc...

allerdings kann ich die note nun nicht auslesen bzw. sie weiterverarbeiten.
ich möchte diese note dann an den konstruktor weitergeben.

Tipps!?

Edit von L-ectron-X: Code-Tags eingefügt.
 
Code:
int note;

if (prozent < 25) {
   System.out.println("Note:6");
   note = 6;
}
//etc...
// jetzt kannst Du auf note zugreifen und damit arbeiten...
 
deklariere die variable nich im if block sondern eine eben höher, halt da wo sie gebraucht wird
 
moin,

wenn ich es so mache wie du gesagt hast bambi gibt er mir die Fehlermeldung :

variable note might not have been initialized.
habe die im onstruktor aber auch als int angegeben, was ja dann eigentlich klappen müsste.
wenn ich die ifabfragen auskommentiere und z.B. int note = 3 hinschreibe gibts keinen fehler.

@roar: ich habe ja mehrere if (else) schleifen (je nachdem wieviel prozent man hat halt note 1 -6). und ich möchte das er mir bei einer gewiisen prozentzahl die entsprechende note dann in die variable note schreibt.
 
noob@work hat gesagt.:
variable note might not have been initialized.

heißt, dass die Note an der stelle im prog wo die Exception entsteht eventuell noch keinen Wert haben könnte, schreib einfach:

Code:
int note=0;

dann sollte der Fehler behoben sein...
 
hey ich hab des selbe problem.... aber geht des net auch irgendwie so.. oder so so ähnlich ...

Integer p1 = txtp1.getNumber();

???
 
sorry aber ich bin dumm wie scheisse... ich schnall des da oben net was der bambi gepostet hat...

Code:
 String eingeleseneZahl = "123";
int zahl = 0;

try {
    zahl = Integer.parseInt(eingeleseneZahl);
} catch (NumberFormatException nfe) {
    System.out.println("War wohl doch keine Zahl.");
}

kann mir da einer heflen oder des ein bissl erklären..

ich will nur aus dem string den ich auslese einen intger wert machen oder besser noch ein float...?? danke
 
Entweder liest du den Inhalt von deinem JTextField in einen String und machst es dann wie oben beschrieben (was gibts daran nicht zu verstehen? Is doch nur Copy & Paste) oder du parst gleich in nen Integer

Code:
int p1 = Integer.parseInt(jtextfield.getText());

und natürlich den try catch Block nicht vergessen :wink:
 
ich habs jetzt so...

Code:
try {
    int punkte = Integer.parseInt(tpunkte.getText());
    }
   	catch (NumberFormatException nfe)
		    { 		 System.out.println("War wohl doch keine Zahl."); }

				
     Namen temp = new Namen (vname, name, punkte, maxpunkte);

da bekomm ich jetzt die fehlermeldung und weiss net wirklich was mit anzufangen... cannot resolve symbol.... und ein pfeil auf die klammer (vname, name, punkte, maxpunkte);

ich denke mal der will des punkte net mehr ham oder ? also die zeile soll des alles an die klasse namen schicken was uch mit sterings klappt aber jetzt wo ich punkte als integer deklariert habe und des ding da oben drinne hab geht nüx... hiiillfe!!
 
stocki hat gesagt.:
also die zeile soll des alles an die klasse namen schicken was uch mit sterings klappt aber jetzt wo ich punkte als integer deklariert habe und des ding da oben drinne hab geht nüx... hiiillfe!!

Dann wird die Klasse wohl auch nen String erwarten und keinen Integer. Musst entweder der Klasse sagen, dass punkte ein int is und kein String, oder erst in der Klasse parsen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben