Hallo,
folgende Aufgabe:
Es soll ein Programm geschrieben werden, das bei Start eine natürliche Zahl als Parameter erhält und diese in ihre Primfaktoren zerlegen soll. Die Faktoren sollen anschließend aufsteigend, durch Komma getrennt, ausgegeben werden. Die 1 wird hierbei nicht betrachtet, da es sich um keine Primzahl handelt.
Ich habe dieses Programm geschrieben:
Allerdings kam bei der Abgabe des Codes eine Fehlermeldung. Daraufhin fragte ich meinen Prof, warum da ein Fehler ist, da das Programm ja einwandfrei läuft. Dann sagte er:
der Test erwartet Ausgabe von 2,2,2,5 bei einem Startparameter von 40. Den müssen sie über den Übergabeparameter Args übernehmen:
public static void main(String[] args) {
//Scanner sc = new Scanner(System.in);
int zahl = Integer.parseInt(args[0]);
Kann mir jemand helfen, wie man das macht?
Vielen Dank!
folgende Aufgabe:
Es soll ein Programm geschrieben werden, das bei Start eine natürliche Zahl als Parameter erhält und diese in ihre Primfaktoren zerlegen soll. Die Faktoren sollen anschließend aufsteigend, durch Komma getrennt, ausgegeben werden. Die 1 wird hierbei nicht betrachtet, da es sich um keine Primzahl handelt.
Ich habe dieses Programm geschrieben:
Java:
import java.util.Scanner;
public class PrimfaktorZerlegung {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Zahl: ");
int zahl = Integer.parseInt(sc.nextLine());
int i = 2;
while (i <= zahl) {
if (zahl % i == 0) {
System.out.print(i);
zahl = zahl / i;
if (zahl != 1)
System.out.print(", ");
} else
i++;
}
}
}
Allerdings kam bei der Abgabe des Codes eine Fehlermeldung. Daraufhin fragte ich meinen Prof, warum da ein Fehler ist, da das Programm ja einwandfrei läuft. Dann sagte er:
der Test erwartet Ausgabe von 2,2,2,5 bei einem Startparameter von 40. Den müssen sie über den Übergabeparameter Args übernehmen:
public static void main(String[] args) {
//Scanner sc = new Scanner(System.in);
int zahl = Integer.parseInt(args[0]);
Kann mir jemand helfen, wie man das macht?
Vielen Dank!