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