z*********e 发帖数: 10149 | 1 遇到几个问题,oj运行出错,但是本地跑可以有正确结果? |
l*****a 发帖数: 14598 | 2 估计是你code的问题,用什么static的变量了吗
【在 z*********e 的大作中提到】 : 遇到几个问题,oj运行出错,但是本地跑可以有正确结果?
|
z*********e 发帖数: 10149 | 3 这是按照sdx写的valid number,
显示 Runtime Error Message: Line 5: java.lang.
StringIndexOutOfBoundsException: String index out of range: 0
Last executed input: "3"
就是说这一行有错"if(s.charAt(0) == '+' || s.charAt(0) == '-') s = s.
substring(1);"
明显不可能麻,我空string都处理了还说我越界
===============================================
public boolean isNumber(String s) {
if(s == null || s.isEmpty()) return false;
s = s.trim();
if(s.charAt(0) == '+' || s.charAt(0) == '-') s = s.substring(1);
int n1 = 0;
while(n1 < s.length() && ( s.charAt(n1) >= '0' && s.charAt(n1) <= '9
')) n1++;
s = s.substring(n1);
if(s.isEmpty()) return true;
if(s.charAt(0) == '.') s = s.substring(1);
int n2 = 0;
while(n2 < s.length() && ( s.charAt(n2) >= '0' && s.charAt(n2) <= '9
')) n2++;
s = s.substring(n2);
if(s.isEmpty()) return true;
if(n1 + n2 == 0) return false;
if(s.charAt(0) == 'E' || s.charAt(0) == 'e') {
s = s.substring(1);
int n3 = 0;
while(n3 < s.length() && (s.charAt(n3) >= '0' && s.charAt(n3) <=
'9')) n3++;
if(n3 == 0) return false;
s = s.substring(n3);
}
s = s.trim();
return s.isEmpty();
}
【在 l*****a 的大作中提到】 : 估计是你code的问题,用什么static的变量了吗
|
S********0 发帖数: 5749 | 4 是不是oj output结果和expected一样但还是错? 应该是哪个小地方有问题,甚至内
存用多了都有可能。
【在 z*********e 的大作中提到】 : 遇到几个问题,oj运行出错,但是本地跑可以有正确结果?
|
l*****a 发帖数: 14598 | 5 你trim了之后, s的length一定比0大?
s = s.trim();
【在 z*********e 的大作中提到】 : 这是按照sdx写的valid number, : 显示 Runtime Error Message: Line 5: java.lang. : StringIndexOutOfBoundsException: String index out of range: 0 : Last executed input: "3" : 就是说这一行有错"if(s.charAt(0) == '+' || s.charAt(0) == '-') s = s. : substring(1);" : 明显不可能麻,我空string都处理了还说我越界 : =============================================== : public boolean isNumber(String s) { : if(s == null || s.isEmpty()) return false;
|
z*********e 发帖数: 10149 | 6 你说得有道理。。。谢谢!
【在 l*****a 的大作中提到】 : 你trim了之后, s的length一定比0大? : s = s.trim();
|