我正在尝试创建一个消耗两个字符串的方法。它会将字符串1与字符串2进行比较,并将用' _'替换所有未发现的字符。例如,如果String 1 =" Hello&#34 ;;字符串2 =" eo"然后该方法将字符串1返回为" _e__o"这是我的代码:
static String getRevealedChars (String s1, String s2)
{
for (int i = 0; i < s1.length(); i++)
{
for (int c = 0; c < s2.length(); c++)
{
if (s1.charAt(i) == s2.charAt(c))
{
break;
}
else
{
// this is where I get my Error
s1.charAt(i) = '_';
}
}
}
}
但是,当我运行此代码时,我得到一个&#34;意外类型&#34; s1.charAt(i)=&#39; _&#39;;的错误。我非常擅长java,提前谢谢。
答案 0 :(得分:0)
将s1
和s2 from
String
的数据类型替换为StringBuilder
,然后使用setCharAt()
代替charAt()
,如下所示:
StringBuilder s1 = new StringBuilder("hello");
StringBuilder s2 = new StringBuilder("eo");
static String getRevealedChars (StringBuilder s1, StringBuilder s2)
{
for (int i = 0; i < s1.length(); i++)
{
for (int c = 0; c < s2.length(); c++)
{
if (s1.charAt(i) == s2.charAt(c))
{
break;
}
else
{
// this is where I corrected Error
s1.setCharAt(i, '_');
}
}
}
}
希望这会有所帮助。祝你好运。