gpt4 book ai didi

Java:在字符串中设置字符位置的值时收到意外类型错误(必需:变量;找到:值)

转载 作者:行者123 更新时间:2023-11-29 04:54:17 27 4
gpt4 key购买 nike

public static void octIn(String[] input, String octString)
{
String strString, biString;
String[] str = new String[2];
//Octal to Binary
biString = Integer.toBinaryString(Integer.parseInt(octString, 8));
//Binary to String
String[] bi = splitBi(biString);
for (int i = 0; i < 3; i++)
{
for (int x = 0; x < 3; x++)
{
if (bi[i].charAt(x) == 0)
str[i].charAt(x) = '-';
else
{
switch(x)
{
case 0:
str[i].charAt(x) = 'r';
break;
case 1:
str[i].charAt(x) = 'w';
break;
case 2:
str[i].charAt(x) = 'x';
break;
}
}
}
}
}

我想知道为什么会出现以下错误,以及如何修复它:

ACSL1.java:36: error: unexpected type
bi[i].charAt(x) = '1';
^
required: variable
found: value

注意:其他人正在出现,但我认为也显示这些是多余的。

最佳答案

str[i].charAt(x) 是一个 char 值,不是变量。你不能分配给它。它类似于编写 'a' = '1';

无论如何,字符串是不可变的,因此您不能修改它的字符。如果您希望 str[i] 具有新的 String 值,则必须创建一个新的 String(例如,通过将字符附加到 StringBuilder)并将新的 String 分配给 str[i].

    for (int i = 0; i < 3; i++)
{
StringBuilder sb = new StringBuilder();
for (int x = 0; x < 3; x++)
{
if (bi[i].charAt(x) == 0)
sb.append('-');
else
{
switch(x)
{
case 0:
sb.append('r');
break;
case 1:
sb.append('w');
break;
case 2:
sb.append('x');
break;
}
}
}
str[i] = sb.toString();
}

关于Java:在字符串中设置字符位置的值时收到意外类型错误(必需:变量;找到:值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333491/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com