Java 长变量不接受值

Java 长变量不接受值,java,Java,我试图给一个长变量赋值,但eclipse显示编译错误。有人能解决这个问题吗?我已经检查过了,并确信该值在远程范围内 public static void main(String[] args) { **long num = 600851475143;** for(long i = num/2; i<1; i--) { if(num%i == 0 && isPrime(i) == true) {

我试图给一个长变量赋值,但eclipse显示编译错误。有人能解决这个问题吗?我已经检查过了,并确信该值在远程范围内

public static void main(String[] args) {
        **long num = 600851475143;**

        for(long i = num/2; i<1; i--) {
            if(num%i == 0 && isPrime(i) == true) {
                System.out.println(i);
                break;
            }
        }

    }
你必须在文本后面加上L来告诉编译器这是一个很长的过程。Java中的整数文本默认为int;由于您输入的数字不适合整数,编译器会抱怨。

添加L并使其成为整数

long num = 600851475143L;
也看到