gpt4 book ai didi

Java:单台 PC 上出现奇怪的字符串/整数错误

转载 作者:行者123 更新时间:2023-11-30 08:09:56 26 4
gpt4 key购买 nike

这段代码:

private boolean yearIsValid(String v) {
if (Utilities.noString(v) || v.length() < 4)
return false;
v = v.substring(0, 4);
if (!Utilities.IsInteger(v))
return false;
int i = Integer.parseInt(v);
return i >= 1800 && i <= 2100;
}

在一台计算机上,它对于输入值 2015-05-28T06:26:27-05:00 返回 false。在它运行的所有其他计算机上(全世界有 100 台)它都成功了。发生故障的计算机位于美国。

我不知道要寻找什么(除非我很确定它不是 secret BOM,该值来自 DOM 中的 XML 属性)

供引用

public static boolean noString(String v) { 
return v == null || v.equals("");
}

public static boolean IsInteger(String string) {
try {
int i = Integer.parseInt(string);
return i != i+1;
} catch (Exception e) {
return false;
}
}

最佳答案

为什么这么复杂?为什么不只是:

private boolean yearIsValid(String v) {
if (v == null) {
return false;
}
try{
int i = Integer.parseInt(v.substring(0, Math.min(4, v.length)));
return i >= 1800 && i <= 2100;
catch(NumberFormatException e){
return false;
}
}

关于Java:单台 PC 上出现奇怪的字符串/整数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30523103/

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