这个等式在“Python”和“Java”中给出了不同的结果

2024-03-28 15:44:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将一个用Python编写的程序转换成Java。在Python代码中有一个等式:(19 - 20) % 91,它Java版本是(19 - 20) % 91意思相同。这个等式在Python中给出了答案90,但在Java中给出了答案-1。如何将这个等式从Python修改为Java,以便它能够正常工作和运行


Tags: 答案代码版本java等式
1条回答
网友
1楼 · 发布于 2024-03-28 15:44:05

这里的问题是,在Python中,%运算符返回,在Java中它返回余数。这些函数为正参数提供相同的值,但对于负输入,模数始终返回正结果,而其余的则可能给出负结果。在这个问题中有更多的信息

通过执行以下操作,可以找到正值:

int i = (19-20) % 91;
if (i<0) i += 91;

或者您可以使用Math.floorMod()

Math.floorMod((19-20), 91);

相关问题 更多 >