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

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.
#11
vote_ok
von xy-no (250 Punkte) - 03.11.2015 um 16:32 Uhr
Quellcode ausblenden Java-Code
package java_helloworld;

import java.util.ArrayList;
import java.util.Scanner;

public class AllDivisors {

	public static void main(String[] args) {
		ArrayList<Integer> divisors = new ArrayList<Integer>();
		int number = 0;
		boolean error = true;
		
		// get the number
		Scanner sc = new Scanner(System.in);
		System.out.println("Alle Teiler einer Zahl");
		System.out.println("Bitte gib deine Zahl ein: ");
		while (error) {
			if (sc.hasNextInt())
				number = sc.nextInt();
			else {
				System.out.println("Es muss eine ganze Zahl sein!");
				System.out.println("Versuch es noch ein Mal: ");
				sc.next();
				continue;
			}
			error = false;
		}
		// calculate
		for (int i = 1; i <= number; i++) {
			if (number % i == 0) {
				divisors.add(i);
			}
		}

		// output
		System.out.print("Alle Teiler der Zahl " + number + " = { ");
		for (int i = 0; i < divisors.size(); i++) {
			if (i == divisors.size()-1)
				System.out.print(divisors.get(i) + " ");
			else
				System.out.print(divisors.get(i) + ", ");
		}
		System.out.print("}");

		sc.close();
	}

}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

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

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.