迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

Java 中负数的模

作者:迹忆客 最近更新:2023/09/28 浏览次数:

在 Java 中,我们可以借助模或余数运算符 (%) 运算符找到两个数相除后的余数。

假设我们有两个数字,A 和 B,其中 A 是被除数,B 是除数。当我们操作 A mod B 时,当 A 除以 B 时,我们得到一个余数。

如果我们处理负数,我们有时会得到错误的结果。本文将讨论在 Java 中查找负数模的不同方法。

如果我们有负数并对其使用%运算符,我们将得到取决于左操作数符号的结果。如果我们的左操作数为正,我们将得到结果为正,如果左操作数为负,我们将得到结果为负。

为了解决上述问题,我们可以通过使用%运算符、floorMod() 方法和 Math.abs() 方法找到负数的模。让我们一一讨论每种方法。


在 Java 中使用 % 运算符获取负数的模

我们可以通过首先添加模因子直到进入正域然后调用%运算符来找到负数的模。在这种方法的帮助下,我们总是使 mod 因子大于输出。

让我们看看下面的代码来了解它是如何工作的。

public class Main 
{
    public static void main(String args[]) 
    {
      int x=-4;
      int y=3;
      int res=x%y;
      System.out.println("Mod value before operation = " + res);
      while (x<0) x+=y;
      int mod_res=x%y;
      System.out.println("Mod value after operation = " + mod_res);
    }
}

输出:

Mod value before operation = -1
Mod value after operation = 2

使用 floormod() 方法获取负数的模

我们还可以使用 floorMod() 方法找到负数的 mod。在这个方法的帮助下,我们得到了 int 参数的底模。

让我们看一下 floorMod() 函数的语法。

语法:

floorMod(number,mod)

当对负整数调用 floorMod() 函数时,我们会得到带有 mod 因子符号的输出。让我们看看下面的代码来了解它是如何工作的。

public class Main 
{
    public static void main(String args[]) 
    {
      int x=-4;
      int y=3;
      int res=x%y;
      System.out.println("Mod value before operation = " + res);
      int mod_res=Math.floorMod(x, y); // This will have the output value as positive since the smod factor is positive
      System.out.println("Mod value after operation having mod factor as positive = " + mod_res);
      x=4;
      y=-3;
      mod_res=Math.floorMod(x, y); // This will have the output value as negative since the mod factor is negative
      System.out.println("Mod value after operation having mod factor as negative = " + mod_res);
    }
}

输出:

Mod value before operation = -1
Mod value after operation having mod factor as positive = 2
Mod value after operation having mod factor as negative = -2

使用 Math.abs() 方法获取负数的 Mod

我们还可以使用 Math.abs() 方法找到负数的模。

我们将在三元运算符的帮助下执行此任务。无论数字是正数还是负数,此运算符都将产生两种情况的输出。

让我们看看下面的代码来了解它是如何工作的。

public class Main 
{
    public static void main(String args[]) 
    {
      int x=-4;
      int y=3;
      int res=x%y;
      System.out.println("Mod value before operation = " + res);
      int mod_res = (x < 0) ? (y - (Math.abs(x) % y) ) %y : (x % y);
      System.out.println("Mod value after operation = " + mod_res);
    }
}

输出:

Mod value before operation = -1
Mod value after operation = 2

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

检查是否安装了 Java

发布时间:2023/09/29 浏览次数:186 分类:Java

本文按照步骤检查 Java 是否安装在不同的操作系统中。本文教我们检查机器上是否安装了 Java。一些软件和应用程序需要 Java,要检查我们的设备是否支持它,我们需要按照以下步骤操作。

检查 Java 版本

发布时间:2023/09/29 浏览次数:194 分类:Java

本文介绍了检查已安装 Java 版本的方法。Java 是一种用于创建软件应用程序的编程语言。要检查本地系统中安装的 Java 版本,你可以使用一些将结果显示到控制台的命令。

检查 Linux 中的 Java 版本

发布时间:2023/09/29 浏览次数:150 分类:Java

本文讨论了在 Linux 机器上检查 Java 版本的方法。要在 Linux 中检查 Java 版本,我们可以使用 version 命令、whereis 命令和文件路径。

在 Mac 中检查 Java 版本

发布时间:2023/09/29 浏览次数:180 分类:Java

Java 平台是一种安全的开发语言环境,使你能够在各种计算平台上快速构建和部署应用程序。它提供了一个不依赖底层操作系统的安全运行时环境,同时提供与本地方法和传统编程语言的

在 Java 中转义 HTML

发布时间:2023/09/29 浏览次数:153 分类:Java

本文解释了如何在 Java 中转义 HTML 字符和符号。为此,我们可以使用 Apache commons-text 和 StringEscapeUtils.escapeHtml4(str) 方法来转义 Java 中的 HTML 符号和字符。

Java 中的无穷大数

发布时间:2023/09/29 浏览次数:62 分类:Java

文章介绍了在 Java 中实现无穷大的方法。本文讨论了在 Java 中实现无穷大的方法。有几个数学场景可能需要实现无穷大的数学运算。

Java 中的幂运算

发布时间:2023/09/29 浏览次数:198 分类:Java

本篇文章主要讲的是在 Java 中如何进行幂运算。本文介绍了如何在 Java 中进行幂操作,并列举了一些示例代码来理解这个话题。

在 Java 中生成指定范围内的随机数

发布时间:2023/09/29 浏览次数:121 分类:Java

这篇文章介绍了如何在 Java 中生成指定范围内的随机数。本文介绍了如何在 Java 中生成指定范围内的随机数。有几种在 Java 中生成随机数的方法,例如 ThreadLocalRandom 类的 nextInt() 方法,Math 类的

Java 中的递归斐波那契数列

发布时间:2023/09/29 浏览次数:85 分类:Java

本文介绍了在 Java 中创建递归斐波那契序列的方法。由从 0 和 1 开始的最后两个数字相加形成的序列。如果要查找第 n 个元素,则可以通过(n-1)和(n-2)项相加来找到该数字,其中 n 必须大于 0。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便