可以在char数组中加1,不能将k加到k = 1的相同数组中。为什么?

时间:2013-11-05 19:08:16

标签: java arrays char int

编辑:如何在功能工作时获得此功能。我希望将k添加到vektor [x]插槽内的whatevers。

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++;

    }

3 个答案:

答案 0 :(得分:1)

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

vektor[kl] = kl + 'A';

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:-1)

你必须要求char,试试这个:

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

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