java小问题求解
public class Test {
private String code = "1B12021D5604101207125A0101011B4C1003";
private int i=0,j=0;
public static void main(String[] args){
new Test().test1();
}
public void test1(){
for(i=0;i<code.length();i++){
int s = Integer.valueOf(code.substring(i,2));
i++;
System.out.println(i + " --> " + s);
}
}
}
这段代码,为什么在第一次取值的时候是正常的,再次取值的时候,code.substring取到的就是空值了?
求解
------解决方案--------------------是空值? 不对吧 你仔细看看
应该是 code.substring(i,i+2)
public String substring(int beginIndex,
int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
示例:
"hamburger".substring(4, 8) returns "urge"
"smiles".substring(1, 5) returns "mile"
参数:
beginIndex - 起始索引(包括)。
endIndex - 结束索引(不包括)。