java for循环未生成预期结果

java for循环未生成预期结果,java,for-loop,Java,For Loop,我只是想问一下我做过的这个循环。我有一个名为content的字符串,字符串值为namexeme-esmeXMobileX2903489283482903X namexmermerxmobilex0697905967x 我的for循环如下所示: for(int j = 0; j < content.length(); j++){ if(Character.toString(content.charAt(j)).equalsIgnoreCase("n"))

我只是想问一下我做过的这个循环。我有一个名为content的字符串,字符串值为namexeme-esmeXMobileX2903489283482903X namexmermerxmobilex0697905967x

我的for循环如下所示:

for(int j = 0; j < content.length(); j++){
        if(Character.toString(content.charAt(j)).equalsIgnoreCase("n"))
            numberTxt.setText(content.charAt(j)+""+j); }
在我的numberText组件JTextfield中期望看到的是N0Nzero,但我看到的输出是N41。我还做过其他我知道的代码

for(int j = 0; j < content.length(); j++){
    if(content.charAt(j) == 'N') numberTxt.setText(content.charAt(j)+""+j); }
但我仍然没有得到正确的结果。我做得对吗?还是我错过了什么

注意到缺少中断语句,没有足够的时间删除前面的问题

您的字符串多次包含N。 若你们想先发生,那个么就打破循环。 您可以尝试以下方法:

for(int j = 0; j < content.length(); j++){
    if(content.charAt(j) == 'N'){
        numberTxt.setText(content.charAt(j)+""+j);
        break;
    }
}

a请正确格式化你的代码,它很难阅读。b如果你想让字母n第一次出现,你很可能需要在If中休息一下,如果你这样做的话,不要忘记If块的大括号。现在,循环将遍历每个字符,最后一次出现的字符将被打印出来,所有出现的字符都将显示在文本字段中,但您将只看到最后一个字符。可以改用indexOf,然后将其与N连接起来