编辑:如何在功能工作时获得此功能。我希望将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++;
}
答案 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');
我忘了在最后一部分添加括号。这应该起作用。