gpt4 book ai didi

java - 比较两个数字

转载 作者:行者123 更新时间:2023-12-01 16:39:01 25 4
gpt4 key购买 nike

我有这个程序片段:

double stockWeight = 1;
if(data[0] > 9 )
stockWeight = 1000*R(data[0]/10);
double compare = data[0]*100-stockWeight;
System.out.println(compare);
if(compare > 300.0 && compare <=600.0)
stockWeight += 300;
else if(compare > 600.0 && compare <= 900.0)
stockWeight += 600;
else if(compare > 900.0);
stockWeight += 900;

System.out.println(stockWeight);

///////////////////////////////////
private int R(double D){
int howBIG = 1;
if (D >= 100){howBIG = 10;}
else if(D >= 1000){howBIG = 100;}
DecimalFormat F = new DecimalFormat("#");
return Integer.valueOf(F.format(D/howBIG))*howBIG;
}

输出是:

126.0
1900.0

这里的所有数字都是 double 类型。 数据[0] = 11.26为什么我的电脑认为 126.0 大于 900.0?R方法基本上是10(100)的div函数,如果大于100(1000),则给出整数

最佳答案

由于最后一个 else 语句中的杂散分号,您可能会看到令人困惑的结果:

else if(compare > 900.0);

因此这一行不依赖于 else 子句,并且将始终被执行:

stockWeight += 900;

本质上,无论是否比较 > 900.0,您总是会在最后一个打印语句之前将 900 添加到 stockWeight。

关于java - 比较两个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6090011/

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