Java :: Aufgabe #1 :: Lösung #22
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.
#22

von uncle benks (20 Punkte)
- 29.10.2019 um 20:25 Uhr

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
Seite 1 von 0
1