1

文字 xa を合計 3 回含む基本的な String 変数があります。charAt を使用して String 内で x を検索し、char とその隣の次の 2 文字を出力しようとしました。

コード内で問題が発生しました。助けていただければ幸いです。

これが私のコードです。

public class StringX{
    public static void main(String[] args){
        String ss = "xarxatxm";
        char first = ss.charAt(0);
        char last == ss.charAt(3);

        if(first == "x"){ 
            String findx = ss.substring(0, 2);
        }
        if(last == "x"){
            String findX = ss.substring(3, 5);
        }

        System.out.print(findx + findX);
    }
}

また、x を探して文字列を循環する for ループを実装する方法はありますか?

コードのどこが間違っているかを確認するためのアドバイスが必要です。

4

1 に答える 1

2

を使用して文字を見つけることはできません。文字がどこにあるかがわかったら、文字charAt取得するためです。

for ループを実装して、x を探して文字列を循環させる方法はありますか?

indexOf文字の位置を見つけるために使用する必要があります。xこれまでに見つけた最後の位置である初期位置を渡して、後続の位置を取得します。

たとえば、以下のコード

String s = "xarxatxm";
int pos = -1;
while (true) {
    pos = s.indexOf('x', pos+1);
    if (pos < 0) break;
    System.out.println(pos);
}

0 3 6文字列内のの 3 つの位置を出力'x'します。

于 2013-02-10T13:41:55.500 に答える