Java意外类型错误

Java意外类型错误,java,Java,我试图创建一个使用两个字符串的方法。它将比较字符串1和字符串2,并将所有未找到的字符替换为“\u1”。例如,如果字符串1=“Hello”;String 2=“eo”然后该方法将字符串1返回为“\u e\u\o”这是我的代码: static String getRevealedChars (String s1, String s2) { for (int i = 0; i < s1.length(); i++) { for (int c = 0; c <

我试图创建一个使用两个字符串的方法。它将比较字符串1和字符串2,并将所有未找到的字符替换为“\u1”。例如,如果字符串1=“Hello”;String 2=“eo”然后该方法将字符串1返回为“\u e\u\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) = '_';
            }
        }
    }
}
静态字符串getRevealedChars(字符串s1、字符串s2)
{
对于(int i=0;i

然而,当我运行这段代码时,我在s1处得到了一个“意外类型”错误。charAt(I)='';。提前感谢您,我对java非常陌生。

s1
和s2
的数据类型从
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, '_');
            }
        }
    }
}
StringBuilder s1=新的StringBuilder(“你好”);
StringBuilder s2=新StringBuilder(“eo”);
静态字符串getRevealedChars(StringBuilder s1、StringBuilder s2)
{
对于(int i=0;i

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

s1
和s2
的数据类型从
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, '_');
            }
        }
    }
}
StringBuilder s1=新的StringBuilder(“你好”);
StringBuilder s2=新StringBuilder(“eo”);
静态字符串getRevealedChars(StringBuilder s1、StringBuilder s2)
{
对于(int i=0;i

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

s1.charAt(i)=''uu'无效。关键点-
字符串
对象是不可变的。因此,您不能在原位更改
字符串
——您必须创建一个全新的
字符串
,才能返回。您可能会发现构建
char[]
并在最后将其转换为
String
最简单。如何将char数组转换为字符串?
新字符串(yourcharray)我尝试创建一个数组,但我不知道如何将字符值添加到数组中
s1.charAt(i)=''uu'无效。关键点-
字符串
对象是不可变的。因此,您不能在原位更改
字符串
——您必须创建一个全新的
字符串
,才能返回。您可能会发现构建
char[]
并在最后将其转换为
String
最简单。如何将char数组转换为字符串?
新字符串(yourcharray)我尝试创建一个数组,但我不知道如何继续向数组中添加字符值