Aufgabe 5: Exceptions

http://pp.info.uni-karlsruhe.de/lehre/W ... rn/b03.pdf
Antworten
Thomas
Administrator
Beiträge: 383
Registriert: Do 23. Okt 2008, 20:16
Wohnort: Karlsruhe
Kontaktdaten:

Aufgabe 5: Exceptions

Beitrag 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.
markusj
Beiträge: 164
Registriert: Do 23. Okt 2008, 22:07

Re: Aufgabe 5: Exceptions

Beitrag 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
Benutzeravatar
salami
Beiträge: 179
Registriert: Mi 5. Nov 2008, 22:41
Wohnort: Karlsruhe

Re: Aufgabe 5: Exceptions

Beitrag 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.
Thomas
Administrator
Beiträge: 383
Registriert: Do 23. Okt 2008, 20:16
Wohnort: Karlsruhe
Kontaktdaten:

Re: Aufgabe 5: Exceptions

Beitrag 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^^
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Aufgabe 5: Exceptions

Beitrag 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?
Nukleus
Beiträge: 27
Registriert: Mi 12. Nov 2008, 18:44

Re: Aufgabe 5: Exceptions

Beitrag 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.
lupus
Beiträge: 6
Registriert: Mi 10. Dez 2008, 11:55

Re: Aufgabe 5: Exceptions

Beitrag 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... :)
Hann0
Beiträge: 1
Registriert: So 2. Nov 2008, 12:06

Re: Aufgabe 5: Exceptions

Beitrag 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.
Patric
Beiträge: 99
Registriert: Do 23. Okt 2008, 22:41

Re: Aufgabe 5: Exceptions

Beitrag 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.
Antworten

Zurück zu „Blatt 3 - Abgabe 12.12.08“