Java:如果某个字符在字符串中,那么如何检查它,然后打印出它相对于字符串的位置?

mat*_*ory -1 java arrays string search char

我想要做的是创建一个方法,它有一个字符串和一个字符作为参数,然后该方法接受字符串并搜索给定的字符.如果字符串包含该字符,则返回字符所在的整数数组.这是我到目前为止:

public class Sheet {
public static void main(String[] args) {
    String string = "bbnnbb";
    String complete = null;
    //*******
    for(int i = 0; i < string.length(); i++){
        complete = StringSearch(string,'n').toString();
    }
            //********
}

public static int[] StringSearch(String string, char lookfor) {
    int[]num = new int[string.length()];
    for(int i = 0; i < num.length; i++){
        if(string.charAt(i)== lookfor){
            num[i] = i;
        }
    }
    return num;
}
Run Code Online (Sandbox Code Playgroud)

}

该方法工作正常,并返回此:

0
0
2
3
0
0
Run Code Online (Sandbox Code Playgroud)

我想做的是将它们变成1个字符串,所以它看起来像这个"002300".有没有办法做到这一点?我试图在代码的星号区域中做到这一点,但我没有成功.

noM*_*MAD 5

做就是了

StringBuffer strBuff = new StringBuffer();
for(int i = 0; i<str.length(); i++)
{
    if(str.charAt(i) == reqChar)
    {
        strBuff.append(str.charAt(i));
    }
    else
    {
        strBuff.append('0');
    }
}
return str.toString();
Run Code Online (Sandbox Code Playgroud)

  • 您应该使用`StringBuilder`,因为它不同步. (4认同)