这是我的代码。
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;
}
}
答案 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
中的所有字符。