Hi Ich hoffe das das so stimmt wie du es dir vorgestellt hast : ) Der Code ist etwas unordentlich aber ich habe eigentlich all meine Schritte erklärt. Sollten fragen aufkommen oder ein Fehler darin enthalten sein gib mir bitte bescheid.
import java.util.*;
public class DividersArrayResult { public static void main(String arg[]){ //main Klasse
Scanner sc= new Scanner(System.in);
System.out.print("Enter a Number: "); //Eingabe
String imp = sc.nextLine();
try{ // Fals eine ganze Zahl eingegeben wurde
int num = Integer.parseInt(imp);
int[] answer = calculateDeviders(num); //ruft die calculateDrivers Funktion auf
for( int element : answer){
if(element != 0 && element != 1){ //gibt jede Zahl in der Ergebnis-Liste außer 0 und 1 aus
System.out.println(element);
}
}
}catch(Exception e){ //Fals keine ganze Zahl eingegeben wurde
System.out.print("Eingabe ungültich");
}
}
public static int[] calculateDeviders(int in){
int[] dividers = new int[500];
for(int i = 2; i <= 500 && i < in; i++){ //zwischen 2 und 500 welche kleiner als der input ist
int wert = i - 2;
int math = in/i; //wenn die Zahl ein Teiler ist
if(i*math == in){
dividers[wert] = i; //fügt die Zahl in die Liste hizu
}
}
return dividers;
}
}
Punkte: 40