Java意外类型错误
我试图创建一个使用两个字符串的方法。它将比较字符串1和字符串2,并将所有未找到的字符替换为“\u1”。例如,如果字符串1=“Hello”;String 2=“eo”然后该方法将字符串1返回为“\u e\u\o”这是我的代码: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 <
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)代码>我尝试创建一个数组,但我不知道如何继续向数组中添加字符值