Java 为什么indexOf不用于计算字符串是
我很确定indexOf会打印出字母所在的号码!在我的代码中,若有,应该添加到结果中,以查看消息中有多少个x!虽然它不工作,但它打印出7,这意味着它完全忽略了我的if语句Java 为什么indexOf不用于计算字符串是,java,Java,我很确定indexOf会打印出字母所在的号码!在我的代码中,若有,应该添加到结果中,以查看消息中有多少个x!虽然它不工作,但它打印出7,这意味着它完全忽略了我的if语句 public class Test1 { public static void main(String[] args) { String message = "xyxxzax"; int result = 0; int y = message.l
public class Test1
{
public static void main(String[] args)
{
String message = "xyxxzax";
int result = 0;
int y = message.length();
for(int x = 0 ; y > x; x++){
String v = message.substring(x,x+1);
if (message.indexOf("x") > -1){
result++;
}
}
System.out.println(result);
}
}
这是因为您从未更改字符串消息!我想你知道indexOf不是这样工作的。因此:
public class Test1
{
public static void main(String[] args)
{
String message = "xyxxzax";
int result = 0;
int y = message.length();
for(int x = 0 ; y > x; x++){
String v = message.substring(x,x+1);
if (v.equals("x")){
result++;
}
}
System.out.println(result);
}
}
发生这种情况是因为您在消息中而不是在子字符串VMMessage中查找x。indexOfx>-1对于消息字符串xyxxzax始终为真。也许你想写v.indexOfx>-1@ThomasKläger如果找到x,如何删除它?那么indexOf如何工作?@CedrikPICARD IndexOfRef将在字符串中查找第一个元素,但您从未更改字符串,它也永远不会删除为您找到的字符串。因此,在您的if语句中,message.indexOfx>-1始终返回true。