java for循环没有产生预期的结果
问题描述:
我只想问一下这个for循环我做了。我有一个字符串名为内容与“NameXesme esmeXMobileX2903489283482903X NameXmer merXMobileX0697905967X”的字符串值。java for循环没有产生预期的结果
我的for循环如下:
for(int j = 0; j < content.length(); j++){
if(Character.toString(content.charAt(j)).equalsIgnoreCase("n"))
numberTxt.setText(content.charAt(j)+""+j); }
什么期望在我numberTxt组件可以看出(的JTextField)为 “N0”(Nzero),但输出我看到的是“N41”。我已经做了其他代码,我知道,
for(int j = 0; j < content.length(); j++){
if(content.charAt(j) == 'N') numberTxt.setText(content.charAt(j)+""+j); }
但我仍然没有得到正确的结果。我做对了吗?还是我在这里错过了什么?
注意到缺少中断声明,没有足够的时间将前面的问题删除。
答
您的字符串包含N
多次。 如果你想第一次发生然后break
循环。 您可以试试这个:
for(int j = 0; j < content.length(); j++){
if(content.charAt(j) == 'N'){
numberTxt.setText(content.charAt(j)+""+j);
break;
}
}
+1
可以用'indexOf'代替,然后用'N' –
a)请正确格式化您的代码,它很难阅读。 b)如果你想要第一次出现字母'n',那么你很可能需要在'if'内部有一个'break'(如果你这样做的话,不要忘记'if'块的花括号)。现在,循环将遍历每个字符,最后一次出现将被打印(实际上,所有的出现都将显示在文本字段中,但您只会看到最后一个)。 – Turing85