1

编辑:我如何让这个while函数工作。我希望将 k 添加到 vektor[x] 插槽内的任何内容中。

char vektor[]=str.toCharArray();
int k =0, x=4;
    while(x>0){
        vektor[x]=(char)vektor[x]+k;
        System.out.println(vektor[x]);
        x--;
        k++;

    }
4

3 回答 3

1

你没有声明 k 变量?vektor[k] 不存在

vektor[kl] = kl + 'A';

然而,这将表达式产生一个整数。你必须使用演员表

vektor[k] = (char) (kl + 'A');
于 2013-11-05T19:12:52.980 回答
0

int 和 char 是两种不同的简单类型。然而,一个 int 可以转换为一个 char。这就是当您进行char c = 'a' + 1;编译时会发生的情况,即 'a' + 1 的评估需要是一个字符并为此添加强制转换。

但是当您尝试将声明的 int 添加到 char 时,编译器会假定此声明的 int 是 int 并且没有 char 并且会发生错误。告诉编译器你知道你在做什么的方法是添加一个显式转换:charArray[i] = (char) (kl + 'a');。现在首先将 'a' 转换为 int,加法完成并将返回的 int 转换为 char。

于 2013-11-05T19:17:11.600 回答
-1

你必须把它改成char,试试这个:

vektor[k]=(char)(kl+'A');

我忘了在最后一部分加上括号。这应该起作用。

于 2013-11-05T19:12:10.553 回答