public?class?StringMethodTest{
public?static?void?sop(String?str){
System.out.println("("+str+")");
}
public?static?void?main(String[]args){
String?s="?";
sop(s);
s=strMethod(s);
sop(s);
}
public?static?String?strMethod(String?str){
int?start=0;
int?end=str.length()-1;
while(start<=end&&str.charAt(start)=='?'){
start++;
}
while?(start<=end&&str.charAt(end)=='?'){
end--;
}
return?str.substring(start,end+1);
}
}當(dāng)字符串s為一個(gè)空格時(shí),start=0;end=0;滿足第一個(gè)循環(huán)start=1;end=0;不滿足第二個(gè)循環(huán),返回從角標(biāo)1開(kāi)始到0角標(biāo)結(jié)束的字符串?可是沒(méi)有1角標(biāo)啊,為什么不會(huì)拋出越界異常?
1 回答
已采納

liangqin
TA貢獻(xiàn)6條經(jīng)驗(yàn) 獲得超1個(gè)贊
在return?str.substring(start,end+1);之前str的長(zhǎng)度是1,所以截取的時(shí)候start為1是沒(méi)有問(wèn)題的。
添加回答
舉報(bào)
0/150
提交
取消