【发布时间】:2014-09-05 17:15:41
【问题描述】:
chr[k]=byte(chp[i]-chq[j]); //问题
问题在于类型转换。我已经看到了对此的各种答案,但在实施时无法解决。 如何去除上述代码中的 Syntex 错误
【问题讨论】:
-
Java 使用 C 风格的转换语法。
-
好的,但我该如何纠正呢?
chr[k]=byte(chp[i]-chq[j]); //问题
问题在于类型转换。我已经看到了对此的各种答案,但在实施时无法解决。 如何去除上述代码中的 Syntex 错误
【问题讨论】:
使用 ((byte)some expression) 而不是 byte(some expression)。
【讨论】:
您是否要比较两个相等长度的字符串之间的数值差异(逐个字符)?很抱歉,您对问题的解释还有很多不足之处。
如果我试图解决比较两个字符串之间的数值差异的问题,我可能会想出这样的事情:
char[] a = "cd".toCharArray();
char[] b = "aa".toCharArray();
int i = 0;
int sum = 0;
while (a.length == b.length && i < a.length)
{
if (a[i] > b[i])
sum += (a[i]-b[i]);
else
sum += (b[i])-a[i];
i++;
}
System.out.println("Total character difference: " + sum);
这应该涵盖所有情况...假设我正确理解了您的要求。
【讨论】:
else 的情况下做chr[k]=byte(chq[i]-chp[j]); 吗?
ch[k]=0,我假设你的意思是设置chr[k]=0...而且你不是在增加i else 你的循环案例