Forum / Grundlagen des Programmierens / 3. Hausübung

Martin ±0

iwie funktioniere die exceptions bei mir nicht.. wenn ich wie beim tutorium mache, und was falsches eingeben, kommt alles zusammen raus.. bsp: System.out.print("Bitte geben Sie die 1. Zahl ein: "); try{

        a = input.nextInt();
    }
    catch(java.util.InputMismatchException ime){
        System.out.println("Sie haben keine ganze Zahl eingegeben, bitte versuchen Sie es erneut!");
        a = 1;
    }
    System.out.println("Bitte geben Sie die 2. Zahl ein: ");
    try{
        
        b = input.nextInt();
    }
    catch(java.lang.Exception ime){
        System.out.println("Sie haben keine ganze Zahl eingegeben, bitte versuchen Sie es erneut!");
        b = 1;
    }

wenn ich bei der 1. zahl was falsches eingebe, kann ich nicht die 2 eingeben.. theorie von exceptions habe ich verstanden, aber nicht wie ich es einsetzen soll. kann vielleicht jemand helfen? dankeee

Clemens ±0

kann vielleicht jemand helfen? dankeee Ja kann ich.

Ergänze fett markierten Code:

try{

a = input.nextInt(); input.nextLine(); } catch(java.util.InputMismatchException ime){ System.out.println("Sie haben keine ganze Zahl eingegeben, bitte versuchen Sie es erneut!"); a = 1; input.nextLine(); } System.out.println("Bitte geben Sie die 2. Zahl ein: "); try{

b = input.nextInt(); input.nextLine(); } catch(java.lang.Exception ime){ System.out.println("Sie haben keine ganze Zahl eingegeben, bitte versuchen Sie es erneut!"); b = 1; input.nextLine(); }

Martin ±0

dankeee! noch 2 kurze fragen:

  1. darf z.b bei bsp 1 mit NumberFormatException arbeiten, weil es in der angabe nichts steht?
  2. bei bsp 2, muss ich die "extends class Person" verwenden? wenn ja, ich habe bei bsp 1 (class Person) ein konstruktor verwendet.. und bei bsp 2 steht immer das ich halt string, int, double... required (von bsp eins halt). wie soll man dann "extend verwenden, wenn ich nur Name und Zeit brauche? dankeee voraus!
Clemens ±0

dankeee! noch 2 kurze fragen:

  1. darf z.b bei bsp 1 mit NumberFormatException arbeiten, weil es in der angabe nichts steht?
  2. bei bsp 2, muss ich die "extends class Person" verwenden? wenn ja, ich habe bei bsp 1 (class Person) ein konstruktor verwendet.. und bei bsp 2 steht immer das ich halt string, int, double... required (von bsp eins halt). wie soll man dann "extend verwenden, wenn ich nur Name und Zeit brauche? dankeee voraus! Oder InputMismatchException: Thrown by a Scanner to indicate that the token retrieved does not match the pattern for the expected type, or that the token is out of range for the expected type.

StandardKonstruktor z.b. als: Laeufer(){ super(); +neue Parameter; } Oder du schreibst dir einfach einen neuen Konstruktor der nur Name, Geschlecht und Zeit will.

Martin ±0

dankeeee, jetzt noch eine kurze frage, habe halt iwie geschlecht mir switch gemacht (case, default) wie kann ich es anders machen damit es in der klasse Person dann auch ist und ich dann bei bsp 2 verwenden kann?

Clemens ±0

dankeeee, jetzt noch eine kurze frage, habe halt iwie geschlecht mir switch gemacht (case, default) wie kann ich es anders machen damit es in der klasse Person dann auch ist und ich dann bei bsp 2 verwenden kann? Poste bitte immer den Code.

Ich antworte mal drauf los: Du speicherst Geschlecht als Char 'm' oder 'w'. also: class Person{ char Geschlecht; //Konstruktor + etc. }

Bei der Eingabe achtest du darauf, dass der eingegeben Input keine Zahlen enthält/Buchstaben (außer m/w). ggf verwendest du noch .toUpperCase() Von daher ist switch/Case nicht schlecht. Du hast 2 Fälle: Input ist 'm' oder 'w' und den default Fall: "Falscher Input".

Martin ±0

d.h wenn ich mit switch case mache ist es theoretisch nicht falsch oder? habe halt ohne switch gemacht..

     if(g.equals("m")){   
           return "Herr";
     }
           else if(g.equals("f")){
           return "Frau";
      }
       else{
           return "Falsche Eingabe" ;  
       } 
    }\n~~~

gibt es jetzt die die möglichkeit eine exception zu machen oder iwas wo das program nur "m" oder "w" annimmt, und wenn keine diese buchstaben vorkommt es nochmal fragt?  halt ohne "falsche Eingabe"
Clemens ±0

gibt es jetzt die die möglichkeit eine exception zu machen oder iwas wo das program nur "m" oder "w" annimmt, und wenn keine diese buchstaben vorkommt es nochmal fragt? halt ohne "falsche Eingabe" Das würde ich nicht als Exception bezeichnen. Das kannst du einfach über eine Dauerschleife mit continue/break lösen.

2.Post: Da du deine Linienzüge vergleichen willst ist es nötig, dass du eine Funktion "Laenge" in der Klasse hast.

Timotheus Jan ±0

Könnte vielleicht jemand hier seinen code posten bin echt schon am verzweifeln und am dienstag ist schon abgabe ....:( bitttttte und danke im vorhinein!!!!

Florian +1

Ich würde mich ebenfalls sehr freuen, wenn jemand seinen Code hochladen könnte! Komme beim dritten Beispiel nicht weiter, wäre echt eine große Hilfe.

Clemens ±0

kann mir jemand sagen wie ich mit Netbeans auf einem Mac diesen Linienzug mit dem BufferedReader einlese? mit ("Linienzüge.txt") bekomm ich andauert eine FilenotFound Exception :/ Muss die in irgendeinem bestimmten Ordner liegen oder ist der Projektordner ausreichend? "Linienzüge.txt" ist kein Pfad. File erstellen - Suchen - Apple Mac: Dateipfad ermitteln - mit "Linienzüge.txt" ersetzten.

Jan-Daniel Walter Ru ±0

wenn ich bsp2 von andihs lösung z.b ausführen möchte, funktioniert es nicht, weil sie keine main methode enthälft.was muss ich tun ? es gibt ja eine main wo die klasse drinsteht, aber ausführen kann ich sie nicht..?danke

Florian ±0

Du musst einfach eine main-Methode einfügen. Also public static void main(String args[]){ muss enthalten sein. andih hat das so gelöst, dass er in dem main-File neue Objekte mit den Beispielnamen davon anlegt. Worin da der Vorteil liegt, habe ich aber auch noch immer nicht herausgefunden.

Clemens ±0

){ muss enthalten sein. andih hat das so gelöst, dass er in dem main-File neue Objekte mit den Beispielnamen davon anlegt. Worin da der Vorteil liegt, habe ich aber auch noch immer nicht herausgefunden. Wenn du das main-File ausführst geht es alle Bsp der Reihe nach durch.

Jan-Daniel Walter Ru ±0

ne er führt immer nur des erste immer wieder aus..:/

Sorry, die Kommentarfunktion ist geschlossen.