您现在的位置是:主页 > news > 关于江西建设监督网网站迁移/百度做广告
关于江西建设监督网网站迁移/百度做广告
admin2025/6/7 0:39:39【news】
简介关于江西建设监督网网站迁移,百度做广告,java做网站是否免费,seo包括网站建设吗当使用trim()处理字符串后,发现 String index out of range: 0报错? 而且觉得代码无懈可击?一时想不出来什么时候会为空? 注意特殊情况处理的字符元素都是空格,eg:" "。空格被清除掉&am…
关于江西建设监督网网站迁移,百度做广告,java做网站是否免费,seo包括网站建设吗当使用trim()处理字符串后,发现 String index out of range: 0报错?
而且觉得代码无懈可击?一时想不出来什么时候会为空?
注意特殊情况处理的字符元素都是空格,eg:" "。空格被清除掉&am…
当使用trim()处理字符串后,发现 String index out of range: 0报错?
而且觉得代码无懈可击?一时想不出来什么时候会为空?
注意特殊情况处理的字符元素都是空格,eg:" "。空格被清除掉,可不就是空字符串吗,所以需要判断先你现在的String是不是空,再取下标~
附小陌的错误经历:
class Solution {public int myAtoi(String str) {if(str == null || str.length() == 0){return 0;}str = str.trim();//删空格int flag = 1;int index = 0;int result = 0;//System.out.println(str);//no errorif(str.charAt(index) == '-'){flag = -1;index ++;}else if(str.charAt(index) == '+'){index ++;}for(;index<str.length();index ++){if(str.charAt(index)>='9' || str.charAt(index)<='0'){break;}result = result*10 + (str.charAt(index) - '0');}return flag*result;}
}
改正版:
class Solution {public int myAtoi(String str) { str = str.trim();//删空格if(str == null || str.length() < 1){return 0;}int flag = 1;int index = 0;long result = 0;if(str.charAt(index) == '-'){flag = -1;index ++;}else if(str.charAt(index) == '+'){index ++;}for(;index<str.length();index ++){int t = str.charAt(index) - '0';if(t>9 || t<0){break;}if(flag == 1){result = result*10 + t; if(result > Integer.MAX_VALUE){return Integer.MAX_VALUE;}}else{result = result*10 - t;if(result < Integer.MIN_VALUE){return Integer.MIN_VALUE;}}} int temp = (int)result;return temp;}
}