0

我正在尝试为 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;
            }
        }

    }
4

2 回答 2

5

添加L并制作

long num = 600851475143L;

另见

于 2012-06-04T06:17:09.007 回答
3

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

于 2012-06-04T06:16:54.117 回答