【问题标题】:java.lang.ArithmeticException: / by zerojava.lang.ArithmeticException: / 由零
【发布时间】:2022-02-16 11:23:41
【问题描述】:

我在这行代码中遇到了这个错误:

for (int i = Math.abs(key.hashCode()) % size; i < size; i++)

为什么会这样?

【问题讨论】:

  • 您的size 似乎为零。
  • 因为 size 是 0。% 涉及除法,因为当您将两个数字相除时,它本质上会给您余数。所以x % 0 给你一个除零异常,就像x / 0 一样。

标签: java


【解决方案1】:

% 运算符返回第一个数字除以第二个数字后的余数。如果第二个数字(在您的示例中为 size)为零,那么您将得到除以零 ArithmeticException

关键是在执行这个循环之前检查size是否为零,并采取适当的措施。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多