Java 字符串之间的字符比较

Java 字符串之间的字符比较,java,Java,我的目标是编写一个方法来检查字符串2(密码)上是否存在字符串1(字母)中的任何字母,如果是,则将其替换为“X” 公共字符串隐藏字(){ 字符串密码=“abcde”; 字符串字母=“ad”; 字符串为空=”; 对于(int i=0;i请尝试以下操作: String password = "abcde"; String letters = "ad"; String empty = password; for(int i =0; i <= letters.length()-1; i++){

我的目标是编写一个方法来检查字符串2(密码)上是否存在字符串1(字母)中的任何字母,如果是,则将其替换为“X”

公共字符串隐藏字(){
字符串密码=“abcde”;
字符串字母=“ad”;
字符串为空=”;
对于(int i=0;i请尝试以下操作:

String password = "abcde";
String letters = "ad";
String empty = password;  

for(int i =0; i <= letters.length()-1; i++){
    empty = empty.replace(letters.charAt(i), 'X');
}
System.out.println(empty);
String password=“abcde”;
字符串字母=“ad”;
字符串为空=密码;

对于逻辑中的(int i=0;i,您正在比较整个字符串,而需要逐个字符进行检查,如下面的代码所示,并附上注释:

public static String hiddenWord() {
        String password = "abcde";
        String letters = "ab";
        StringBuilder empty = new StringBuilder();

        for (int i = 0; i <= password.length() - 1; i++) {
           //check character is found and replace with X
           if(i<letters.length() && letters.charAt(i) == password.charAt(i)) {
                empty.append("X");
           } 
           //otherwise keep the same character
           else if(i<letters.length() && letters.charAt(i)!= password.charAt(i)){
                empty.append(password.charAt(i));
          }
        }
        return empty.toString();
    }
public静态字符串hiddenWord(){
字符串密码=“abcde”;
字符串字母=“ab”;
StringBuilder empty=新建StringBuilder();

for(int i=0;我确定完成了!错误地使用了(int i=0;i)的子字符串

public static String hiddenWord() {
        String password = "abcde";
        String letters = "ab";
        StringBuilder empty = new StringBuilder();

        for (int i = 0; i <= password.length() - 1; i++) {
           //check character is found and replace with X
           if(i<letters.length() && letters.charAt(i) == password.charAt(i)) {
                empty.append("X");
           } 
           //otherwise keep the same character
           else if(i<letters.length() && letters.charAt(i)!= password.charAt(i)){
                empty.append(password.charAt(i));
          }
        }
        return empty.toString();
    }