【问题标题】:CodeConversion from byte to int [closed]从字节到整数的代码转换 [关闭]
【发布时间】:2014-09-05 17:15:41
【问题描述】:

chr[k]=byte(chp[i]-chq[j]); //问题

问题在于类型转换。我已经看到了对此的各种答案,但在实施时无法解决。 如何去除上述代码中的 Syntex 错误

【问题讨论】:

  • Java 使用 C 风格的转换语法。
  • 好的,但我该如何纠正呢?

标签: java string


【解决方案1】:

使用 ((byte)some expression) 而不是 byte(some expression)。

【讨论】:

  • Thanku MirMasej,编辑了代码 user3062946 复制粘贴错误很抱歉
【解决方案2】:

您是否要比较两个相等长度的字符串之间的数值差异(逐个字符)?很抱歉,您对问题的解释还有很多不足之处。

如果我试图解决比较两个字符串之间的数值差异的问题,我可能会想出这样的事情:

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

这应该涵盖所有情况...假设我正确理解了您的要求。

【讨论】:

  • 是的,但是我的代码有什么问题(具体是类型转换)
  • 我没有看到类型转换有任何问题......但你在 if 和 else 情况下做同样的算术。你不应该在else 的情况下做chr[k]=byte(chq[i]-chp[j]); 吗?
  • 另外,在字节相等的情况下,你设置ch[k]=0,我假设你的意思是设置chr[k]=0...而且你不是在增加i else 你的循环案例
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-27
  • 1970-01-01
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 2015-10-18
相关资源
最近更新 更多