Java :: Aufgabe #1 :: Lösung #4
28 Lösungen

#1
Für eine ganze Zahl alle Teiler ausgeben
Anfänger - Java
von Gustl
- 06.08.2012 um 23:20 Uhr
Schreiben Sie ein Programm, das dem Benutzer auffordert eine ganze Zahl einzugeben. Danach sollen alle möglichen Teiler dieser Zahl ausgegeben werden.
Wenn keine ganze Zahl (Integer) eingegeben wurde soll eine Fehlermeldung erscheinen und der Benutzer wird noch einmal aufgefordert eine Zahl einzugeben.
Wenn keine ganze Zahl (Integer) eingegeben wurde soll eine Fehlermeldung erscheinen und der Benutzer wird noch einmal aufgefordert eine Zahl einzugeben.
#4

von Jurom (1070 Punkte)
- 19.10.2012 um 12:28 Uhr
Ich habe eine seperate Methode vereinbart, da es sich nicht empfiehlt (und daher auch nicht möglich ist) die main-Methode rekursiv, bzw. generell manuell aufzurufen. D.h. main ruft nur noch die Methode factor() auf.
Java-Code

//©2012 by Julius J. Hoffmann //written with Eclipse import java.util.*; //Importiert Scanner zum Einlesen der Eingabe public class Teiler { //Die "ausführende Klasse" static void factor() //seperate Methode, dei für die Rekursion benötigt wird { System.out.print("Bitte ganzzahlige Zahl eingeben: "); //Ausgabe des Strings Scanner s = new Scanner(System.in); //legt das Scanner-Objekt an int x=0; //Initialisieren der Variablen x (muss seperat erfolgen, da JAVA denkt, dass sie, //wg. der try-catch Anweisung, später nicht verfügbar sein könnte.) try { //try{} -> "Probiert" den nachfolgenden Code auszuführen x = s.nextInt(); //Definition von x } catch (Exception e) {System.out.print("FEHLER!"); //wenn der vorherige Code fehlgeschlagen ist factor();} //rekursiver AUfruf der Methode factor() for (int i=1; i<=x; i++) //Initiieren einer for-Schleife, jede Zahl bis x wird getestet { //x ist hier def. definiert, da catch, die Meth. solange aufruft, bis x definiert ist if(x%i == 0) System.out.println(i); //Testabfrage, ob i ein Teiler von x ist, wenn ja: Ausgabe i.d. Konsole } } //Ende factor-Methode public static void main(String[] args) //Main-Methode { factor(); //Aufruf der Methode factor() } //Ende Main-Methode } //Ende Klasse
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1