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

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.
#22
vote_ok
von uncle benks (20 Punkte) - 29.10.2019 um 20:25 Uhr
Quellcode ausblenden Java-Code
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

    // 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.
    public static void main(String[] args) {
        int number=readingNumber();
        List<Integer> dividers=findDividers(number);
        printDividers(number, dividers);
    }

    private static int readingNumber(){
        int number;
        Scanner sc =new Scanner(System.in);
        while(true){
            System.out.print("Enter an integer! Your number:");
            String input=sc.next();
            if(input.matches("[0-9]+")){
                number=Integer.parseInt(input);
                break;
            }
            else{
                System.out.println("You entered not an integer!\n");
            }
        }
        return number;
    }

    private static List<Integer> findDividers(int number){
        List<Integer> dividers=new ArrayList<>();
        for(int i=1; i<=number; i++){
            if(number%i==0){
                dividers.add(i);
            }
        }
        return dividers;
    }

    private static void printDividers(int number, List<Integer> l){
        String ausgabe = "dividers of "+number+" :";
        for (int i: l) {
            ausgabe+=" "+i;
        }
        System.out.println(ausgabe);
    }
}

Kommentare:

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

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

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.