importjava.util.Scanner;publicclass HA4 {publicstaticvoidmain(String[] args){Scanner s =newScanner(System.in);//Auswahltext für den UserSystem.out.println("Was moechten Sie tun?");System.out.println("<1> - Aufgabeteil A aufrufen");System.out.println(" Prueft, ob eine eingegebene Zahl eine Primzahl ist.");System.out.println("<2> - Aufgabeteil B aufrufen");System.out.println(" Die Zahlen von 1 bis zu einer eingegebenen Zahl wird rekursiv ausgegeben.");int operator = s.nextInt();switch(operator){case1:System.out.println("Bitte geben Sie eine Zahl ,die groesser als eins ist, die auf Primzahl geprueft werden soll!");int pruefzahl1 = s.nextInt();if(pruefzahl1 >1){if((pruefzahl1%2==0)||(pruefzahl1%3==0)||(pruefzahl1%5==0)||(pruefzahl1%7==0)||(pruefzahl1%11==0)||(pruefzahl1%13==0)){if((pruefzahl1 ==2)||(pruefzahl1 ==3)||(pruefzahl1 ==5)||(pruefzahl1 ==7)||(pruefzahl1 ==11)||(pruefzahl1 ==13)){System.out.println(pruefzahl1+"ist eine Primzahl");}else{System.out.println(pruefzahl1+"ist keine Primzahl");}}else{System.out.println(pruefzahl1+"ist eine Primzahl");}}else{System.out.println(" Ungueltige Eingabe, bitte überpruefen Sie ob die eingegebene Zahl groesser als 1ist!");break;case2:System.out.println("Bitte geben Sie eine Zahl, groesser als null ein!");publicstaticintfakul(int n){int result = n;if(n >0){
result *=fakul(n -1);}return result;}}}}}
Hallo Leute, der Code erklärt sich eigentlich von selbst. Ich verstehe den Code komplett , bringe den jedoch nicht zum laufen. Methode A und B krieg ich einfach nicht in ein Programm untergebracht. Methode A funktioniert allein super! Bei der zweiten bin ich überfragt... Bitte den Code unten umschreiben und mein Fehldennken erläutern .:bahnhof:
Überprüfe mal deine geschweiften Klammern in der switch-Anweisung und diese Methode da innerhalb des catch-blocks kann nicht stimmen, die musst du ausserhalb der main-Methode lagern
ich hab mir das nicht zurecht gerückt aber hier is offentsichtlich was verkehrt:
Java:
}else{System.out.println("Ungueltige Eingabe, bitte überpruefen Sie ob die eingegebene Zahl groesser als 1ist!");break;case2:
Ja das haben ich mir schon fast gedacht, ich habe Java seit 4 Wochen und bin noch nicht so weit... Laut Google stimmt da was
nicht mit der main Methode.. wie gesagt es würde mir nur helfen wenn mir jemand die Verknüpfung der Methoden zeigt. Ich kanns dann nachvollziehen wie ich das beim nächsten mal machen kann. Ich verstehe das so: Java kanns nicht übersetzten weil der Teil B nicht richtig verknüpft ist und das Programm am Ende nicht richtig strukturiert ist. Blos allein komme ich nie drauf da wir erst bei der (if) Geschichte sind und ich etwas weiter will. Danke für die schnelle Antwort