gpt4 book ai didi

java Integer.MAX_VALUE、MIN_VALUE 溢出

转载 作者:行者123 更新时间:2023-12-02 08:41:47 24 4
gpt4 key购买 nike

好吧,也许我只是因为这个而累了,但我怎样才能做到这一点?

int x = Integer.MAX_VALUE+10;

//或者也许

int x = Integer.MIN_VALUE-20;

我只是想让 if 语句捕获 x 是否“在范围内”,就像这样:

if(x >= Integer.MAX_VALUE || x <= Integer.MIN_VALUE){ //throw exception}

但问题是,如果该值如上所述,例如 MAX_VALUE + 10,则该值最终既不高于 MAX VALUE,也不低于 MIN_VALUE,并且不满足 if 条件...

编辑:澄清我的意思:我不想实际存储任何大于最大/最小值的值。想象一下:

在一个字段中,您写下 10+10,它会显示“好吧,那就是 20”接下来,有人可能会写 1000000100000,它也会回复答案但是有人可能会写一些超出最大/最小值的东西,例如 100000001000000*1000000 或类似的东西,然后程序应该像“等等,这太高了!这里有一个“0”你来代替”

最佳答案

这可以通过两种方式解决:

第一种方式:

if(x + 10 <= x){ //Has wrapped arround so throw exception}

第二种方式(更好):

long x = Integer.MAX_VALUE+10L;
现在条件可以正常工作了

if(x >= Integer.MAX_VALUE){ //throw exception}

关于java Integer.MAX_VALUE、MIN_VALUE 溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12333541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com