Java意外类型错误

时间:2017-01-29 06:17:04

标签: java

我正在尝试创建一个消耗两个字符串的方法。它会将字符串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,提前谢谢。

1 个答案:

答案 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, '_');
            }
        }
    }
}

希望这会有所帮助。祝你好运。