String str="a*nice*day";
String res="";
int j=0;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)=='*')
{
j=i++;
break;
}
}
while(str.charAt(j)!='*')
{
res=res+str.charAt(j);
j++;
}
System.out.println(res);
这里我试图在不使用子串方法的情况下提取“好”这个词......这个程序有什么问题吗?
答案 0 :(得分:0)
试试这段代码。我认为您的问题出在i++
String str="a*nice*day";
String res="";
int j=0;
for(int i=0; i<str.length(); i++){
if(str.charAt(i)=='*'){
j = i + 1;
break;
}
}
while(str.charAt(j) != '*'){
res=res+str.charAt(j);
j++;
}
System.out.println(res);
答案 1 :(得分:0)
j = i++;
应为j = ++i;
否则,您将i
分配给j
,因为i++
是一个后期增量。
使用后增量时,i
的值仅在此语句后更改。
你仍然坚持找到*
char的索引,而不是你想要的下一个char的索引。