[英]Why is this program for finding Prime Factors of a number using Java not working?
我想知道为什么这个Java程序无法找到数字的主要因素。 我在此站点和其他地方看到了许多解决方案,但是我想知道为什么这种方法不够用,因为它仅返回1作为输出? 第一个“ if语句”处理从1到更低的数字以返回-1(无效值),谢谢。
public class PrimeFactors{
public static void main(String[] args) {
System.out.println(getPrimeFactors(4));
}
public static int getPrimeFactors(int number) {
if (number <= 1) {
return -1;
}
for (int i = 1; i <= number; i++) {
if (number % i == 0) {
return i;
}
}
return number;
}
}
您在此处的代码将返回i的值(已将其设置为1)。您对如何根据代码查找素数没有足够的了解。 无论您将什么内容放入方法中,由于代码的设置方式,getPrimeFactors都将返回-1或1。 数字除以1时的余数始终为0,因此始终为true,它将仅返回1。如果数字小于或等于1,则将返回-1。 除非您修复语法,否则返回号本质上是无效代码。 希望这可以帮助你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.