有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java最大素因子(返回)

public class LargestPrimeFactor {
    public static void main(String args[]) {
        System.out.println(prime(prime(600851475143L));

    }

    public static long prime(long x) {
        long d = 0;

        for (long s = x; s > 0; s--) {
            if (x % s == 0)
                d = s;

            for (long sp = s; sp > 0; sp--) {
                while (sp != 1) {
                    if (s % sp == 0) {
                        d = sp;
                    }


                }
                if (d == s) {
                    return d;
                }
            }
        }
    }
}

prime()方法一直要求我返回,我已经在代码中写过了。有什么我做得不对的吗?非常感谢。需要更多文本SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS


共 (2) 个答案

  1. # 1 楼答案

    返回语句处于if条件下。在方法的右大括号前添加return。也许在if条件中加一个break,在结束大括号之前加上return d

  2. # 2 楼答案

    这是因为您将return语句放在了if中。如果是d=你的方法是不返回任何东西