创建静态方法

时间:2013-04-03 00:53:51

标签: static

这是我的代码。

public static String hBlanks(String a, String b){

    StringBuilder blanks = new StringBuilder();

    int j;
    for(int x = 0; x < a.length(); x++){
      blanks.append('-');
    }
    System.out.println(blanks);
    String strBlanks = blanks.toString();

    for(int i = 0; i < a.length(); i++){
      j = 0;
      while(j < b.length()){
        boolean check = a.contains(b.charAt(j));

//我一直在布尔检查得到错误= a.contains(b.charAt(j));线。它说:“java.lang.String中的contains(java.lang.CharSequence)不能应用于(char)”

        if(check == true){
          strBlanks = blanks.replace('-', "" + a.charAt(i));

//我在str = strBlanks.replace(' - ',“”+ a.charAt(i))得到另一个错误;线。那个人说“找不到符号 symbol:方法replace(char,java.lang.String) location:class java.lang.String“

        }else{
          j++;
        }
      }
     return strBlanks;
    }
}

2 个答案:

答案 0 :(得分:0)

要摆脱编译问题, 将strBlanks.replace('-', "" + a.charAt(i));更改为

strBlanks.replace('-', a.charAt(1));

同时将a.contains(b.charAt(j));更改为

a.contains("" + b.charAt(1));

答案 1 :(得分:0)

如果只有一行,而不是所有代码:

public static String wordBlanks(String a, CharSequence b){
    return a.replaceAll("[^" + b + "]", "-");
}

这可以通过创建一个正则表达式来匹配b中的每个字符而不是,并使用它来用{8}替换a中的所有字符。