我有这个代码。如果第一个String
包含与第二个String
类似的字符,则此代码将对其进行评估,如果第二个String
包含该字符,则在第二个String
中替换该字符“Q”。
示例字符串是:
str1 = abc;
str2 = dagb;
在第一个String
,即“abc”中,它评估“a”是否包含在第二个String
中,即“dagb”,如果是,则“{”包含在{ {1}}“dagb”将替换为“Q”,因此输出将为“dQgb”。
我的问题是嵌套循环。找到第一个String
中的第一个字符后,它会停止输出我的代码“dQgb”。它应该继续循环。在第一个String
“abc”中找到下一个字符,即“b”。
所以最终的输出应该是“dQgQ”。
String
答案 0 :(得分:0)
我不确定如何修复您的代码,但您可以使用此代码:
String g = "abc";
String h = "dagb";
for(int j = 0; j < g.length();j++){
char c = g.charAt(j);
h = h.replace(c,'Q');
}
答案 1 :(得分:0)
我更喜欢StringBuilder
因为它是 mutable ,然后调用String.contains(CharSequence)
来确定该值是否存在于第一个String
中。像,
String g = "abc";
String h = "dagb";
StringBuilder sb = new StringBuilder(h);
for (int i = 0; i < sb.length(); i++) {
if (g.contains(String.valueOf(sb.charAt(i)))) {
sb.setCharAt(i, 'Q');
}
}
System.out.println(sb);
哪些输出(根据要求)
dQgQ