long变量不接受值

时间:2012-06-04 06:14:38

标签: java

我正在尝试为long变量赋值,但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;
            }
        }

    }

2 个答案:

答案 0 :(得分:5)

添加L并将其设为

long num = 600851475143L;

另见

答案 1 :(得分:3)

您必须将L附加到文字以告诉编译器它是long。 Java中的整数文字默认为int;由于您输入的数字不适合int,编译器会抱怨。