Original: Also für meine Einführung in die Programmierklasse, müssen wir die Primfaktoren eines Bereichs von Zahlen finden, die der Benutzer eingibt (d. H. 59-65). Das Problem bei vielen der Lösungen hier ist, dass sie Dinge verwenden, die wir in der Klasse nicht diskutiert haben, wie Arrays, Fortfahren usw. Es ist eine ziemlich einfache Klasse. Was die Anforderungen betrifft, müssen wir eine PrimFact-Methode/-Funktion verwenden, die wir in der ersten for-Schleife aufrufen. Sie wies uns an, eine Weile und for-Schleife in der Methode zu verwenden, um die Primfaktoren zu bekommen, aber jedes Mal, wenn ich denke, dass ich etwas habe, kommt es nicht richtig heraus. Jede Hilfe wird wirklich geschätzt und mein Code ist unten. Ich brauche wirklich nur Hilfe mit dem Methodenteil mit dem Algorithmus zum Finden der Faktoren.Prime Factoring in Java - Intro-Programmierung
Edit: Hier ist die endgültige Lösung, die ich drehte. Es funktioniert und wird alle Primfaktoren aller Zahlen in einem gegebenen Bereich von Zahlen geben.
import java.util.Scanner;
public class PrimeFact {
public static void main(String[] args) {
int start, stop;
//Get input
Scanner input = new Scanner(System.in);
System.out.println("Please enter then two values with the lower value first");
start = input.nextInt();
stop = input.nextInt();
input.close();
//Displays for the start of the loop
System.out.println("Starting value (at least two digits): "+start);
System.out.println("Ending value (at least two digits): "+stop);
System.out.println("Prime factors for numbers between "+start+" and "+stop);
//Loop for the prime factors
for (int num = start; num <= stop; num++) {
primeFact(num);
}
}
// Method for Prime Factoring
public static void primeFact(int num) {
int divisor = 2;
System.out.print(num+" = ");
while (num>1) {
if ((num%divisor) == 0) {
System.out.print(divisor+" x ");
num=num/divisor;
} else {
divisor++;
}
}
System.out.print("1");
System.out.println();
}
}
Warum das 'r'-Tag? Was bedeutet es "es kommt nicht richtig heraus?" – ChiefTwoPencils