Java 600851475143的“整数数太大”错误消息

public class Three {

public static void main(String[] args) {

Three obj = new Three();

obj.function(600851475143);

}

private Long function(long i) {

Stack<Long> stack = new Stack<Long>();

for (long j = 2; j <= i; j++) {

if (i % j == 0) {

stack.push(j);

}

}

return stack.pop();

}

}

当上面的代码运行时,它会在line上产生错误obj.function(600851475143);。为什么?

回答:

600851475143不能表示为32位整数(类型int)。可以将其表示为64位整数(类型long)。Java中的长文字以“ L”结尾:600851475143L

以上是 Java 600851475143的“整数数太大”错误消息 的全部内容, 来源链接: utcz.com/qa/418308.html

回到顶部