如何解决主要不同因素混淆
我必须创建一个名为 PrimeGenerator
的类,用于检查给定的数是否为质数,然后打印质因数,然后打印不同质因数。
我还必须使用 main 方法创建另一个类,该类提示用户输入 any integer >= 2
并根据输入的内容返回特定输出。我制作了 main 方法,我有 isPrime
和 printPrimeFactors
的方法,但我不确定如何制作 printdistinctPrimeFactors
方法。
其他一切似乎都在工作,并且与我得到的输出文件相匹配,我只是不知道如何打印 printdistinctPrimeFactors
。
这是 PrimeGenerator 类:
public class PrimeGenerator
{
/**
* tests whether a given positive integer is prime
*/
public static boolean isPrime(int num) {
if(num == 2) {
return true;
}
else if(num%2 == 0) {
return false;
}
for (int i = 3; i <= Math.sqrt(num); i += 2)
{
if (num % i == 0)
return false;
}
return true;
}
/**
* Prints prime factors of a given integer
*/
public static void printPrimeFactors(int num) {
System.out.println("The prime factors of " + num + " are given below");
for(int i = 2; i< num; i++) {
while(num%i == 0) {
System.out.print(i+" ");
num = num/i;
}
}
if(num >2) {
System.out.println(num);
}
}
/**
* Prints distinct prime factors of a given integer
*/
public static void printdistinctPrimeFactors(int num) {
}
}
这是我的主要方法:
public class Project4
{
public static void main(String args[]) {
int i = 0;
do{
System.out.print("Please enter a positive integer that is at least >= 2: ");
Scanner input = new Scanner(system.in);
int num = input.nextInt();
PrimeGenerator myobject = new PrimeGenerator();
if(num >= 2) {
myobject.isPrime(num);
if(myobject.isPrime(num)== false) {
System.out.println(num + " is not a prime number");
}
else {
System.out.println(num + " is a prime number");
}
myobject.printPrimeFactors(num);
}
else {
System.out.println("You did not input a positive integer >= 2");
}
System.out.println("Do you want to try again? Enter Yes or No: ");
Scanner input2 = new Scanner(system.in);
String userinput = input2.nextLine();
if(userinput == "no" || userinput == "No" || userinput == "NO") {
System.out.println("Thank you and good bye!");
i = 1;
}
} while(i == 0);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。