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

28 Lösungen Lösungen öffentlich
#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.
#4
vote_ok
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.

Quellcode ausblenden 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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2096865

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.