Seite 1 von 1

Aufgabe 5: Exceptions

Verfasst: Sa 6. Dez 2008, 16:57
von Thomas
in der aufgabe is ja ein Beispiel für eine Fehlermeldung bei der eingabe 09, die man dann ja eigentlich mit einer exception machen müsste. wir haben ja aber auch noch keine exceptions in der Vorlesung gemacht und ich weiß´daher leider auch nicht wie sowas geht und wollte daher einfach wissen, ob man dass auch ohne exception abfangen kann/muss oder ob man das einfach lässt? weil auf dem aufgabenblatt steht ja eigentlich man soll es abfangen, in den newsgroups hab ich aba gelesen, man brauch keine exceptions verweden.

Re: Aufgabe 5: Exceptions

Verfasst: Sa 6. Dez 2008, 17:02
von markusj
Du musst nicht auf falsch eingegebene Zahlen prüfen, dafür würdest du Exceptions brauchen. Für die Kontrolle, ob genau zwei Zahlen eingegeben wurden, reicht es schon, wenn du überprüfst, ob dein Array (nach dem Aufspalten in Tokens) die Länge zwei hat.

mfG
Markus

Re: Aufgabe 5: Exceptions

Verfasst: Sa 6. Dez 2008, 17:05
von salami
Bei der Eingabe 09 brauchts keine Exceptions.

Du splittest den eingegebenen String ja mit eingabe.split(..) auf. Dann bekommst du ein Array zurück, in dem in jedem Feld eine Zahl steht. Wenn du jetzt 09 eingegeben hast, hast du aber nur ein Feld im Array und weißt dadurch, dass zu wenige Zahlen eingegeben wurden.
Du kannst mit arr.length überprüfen, ob genug Felder im Array sind.


Anders ist es, wenn man keine Zahl, sondern Buchstaben eingeben würde. Da bräuchte es Exceptions, um so eine Ausgabe wie in der Vorgabe zu erhalten. Aber laut Tutor Aufgabenstellung kann man voraussetzen, dass Zahlen eingegeben werden.

Re: Aufgabe 5: Exceptions

Verfasst: Sa 6. Dez 2008, 18:35
von Thomas
super danke für die hilfe
hätte jetzt noch ne frage, und zwar könnte es sein, dass es nur möglich is die exception einma abzufangen, also wenn ichs dann 2ma eingeb kommt die wieda, wenn ichs so mit ner if schleife mach oder habt ihr das auch gelöst bekommen^^

Re: Aufgabe 5: Exceptions

Verfasst: So 7. Dez 2008, 16:21
von Blurio
Ich hab jetzt mal die Arraylängenabfrage so gebastelt:
if (tokens.length != 2) {
terminal.println("Blahblah2Zahlenblah");
} else {
blah hier kgv yay!

Problem is: Das funktioniert super mit 3 oder mehr Zahlen. Bei nur einer kommt jenes hier:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at kgv.main(kgv.java:31)

Nu die Frage: wat?

Re: Aufgabe 5: Exceptions

Verfasst: So 7. Dez 2008, 16:59
von Nukleus

Code: Alles auswählen

if( tokens.length != 2 )
{
	System.out.println( "Error! Two numbers excpected" );
	continue;
}
// kgv usw.
wuerd ich nehmen, das springt zur Abfrage zurueck wenn man nicht genau 2 Werte eingibt.

Re: Aufgabe 5: Exceptions

Verfasst: Mi 10. Dez 2008, 12:16
von lupus
Blurio hat geschrieben:Problem is: Das funktioniert super mit 3 oder mehr Zahlen. Bei nur einer kommt jenes hier:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at kgv.main(kgv.java:31)

Nu die Frage: wat?
Hast du vor der Abfrage, ob das tatsächlich nur 2 Einträge hat, schon versucht, die Strings in Integer umzuwandeln? Wenn ja, wäre die Fehlermeldung logisch... :)

Re: Aufgabe 5: Exceptions

Verfasst: Do 11. Dez 2008, 08:15
von Hann0
Ixh möchte nur anmerken, dass 09 keine zahl ist und da wir davon ausgehen sollen, dass nur zahlen eingegeben werden, darf dein programm da gerne mit exceptios um sich werfen.

Re: Aufgabe 5: Exceptions

Verfasst: Do 11. Dez 2008, 15:48
von Patric
Hann0 hat geschrieben:Ixh möchte nur anmerken, dass 09 keine zahl ist und da wir davon ausgehen sollen, dass nur zahlen eingegeben werden, darf dein programm da gerne mit exceptios um sich werfen.
09 ist ne Zahl, auf dem Aufgabenblatt wo gezeigt wird wie das ganze aussieht, wird auch mal 09 eingegeben.