整数Divison的Java剩余?

时间:2015-09-25 09:09:48

标签: java math divide

我正在四处寻找这个话题,但我仍然没有得到它,如果有人可以详细说明我会非常感激。

我的任务是将两个变量除以整数除以余数。 问题是,我不知道余数是什么,现在我做了类似的事情,这是我通过互联网搜索找到的:

int a;
int b;
int remainder = Math.Pow(a,2) % b;

System.out.println("a^2 / b = " + Math.Pow(a,2) / b);
System.out.println("remainder = " + remainder);

如果我例如设置(a = 43)和(b = 67)

然后我会得到这个结果:

a^2 / b = 27
remainder = 40

现在因为我不知道剩下的是什么(这只是互联网上的一个建议)我不知道这是不是正确的答案..?

感谢您的帮助,

亲切的问候

6 个答案:

答案 0 :(得分:11)

如果您正在寻找数学模运算,您可以使用

int x = -22;
int y = 24;
System.out.println(Math.floorMod(x, y));

如果您对数学模数(只是余数)不感兴趣,那么您可以使用

int x = -22;
int y = 24;
System.out.println(x%y);

答案 1 :(得分:1)

是的,%运算符将返回整数除法的余数。

要了解有关整数除法的其余部分的详情,请查看Wikipedia

  

如果a和d是整数,d非零,则可以证明存在唯一的整数q和r,使得a = qd + r且0≤r<1。 | d |。数字q称为商,而r称为余数。

答案 2 :(得分:1)

    public static void main(String[] args) {
        int dividend = 139, divisor = 7;

        int quotient = dividend / divisor;
        int remainder = dividend % divisor;

        System.out.println("The Quotient is = " + quotient);
        System.out.println("The Remainder is = " + remainder);
    }

输出:

  

商是= 19

     

余数= 6

答案 3 :(得分:0)

int remainder = a % b;会对你进行排序。余数运算符返回除法的其余部分。

请注意,余数运算符也称为模运算符。但是,对于Java来说这是不正确的,因为如果左操作数a为负,Java将返回负值。

答案 4 :(得分:0)

%运算符将返回Integer除法的其余部分。

  

实际上是什么模块?

模块趋向于从数字中删除cycles,直到达到一个正数,该正数小于我们称模数OR的负数,我们称之为{{1 }}。

但是,使用reminder运算符非常耗时。

  

为避免在获得相同结果的同时使用%,我们可以使用以下内容:

  • %(当While(a >= n) a -= n;为正数时)
  • a(当While(a < 0) a += n;为负数时)

  • a表示a = n*q + r,而r = a - n*q表示q is the integer division of a/na%n == a - n * Math.toIntExact(a/n)为正数时就足够了。

    < / li>
  • 虽然a为负数,但我们可以使用a这将为您提供模块。
  

时钟情况:

如果现在是9点钟,则4小时后的什么时间(a%n + n) % n 9 + 4 = 13h => 13%12 = 1 =>

如果我们需要计算从现在起while 12 is the cycle number in the clock的{​​{1}}小时(昨天)之前的时间,那么: 24 9 O'clock昨天的意思是24(2*12)正确的答案是=>时,为了解决这个问题,我们将使用9-24 = -15h9然后{{1} } => (a%n + n) % n => a%n == (a - n * Math.toIntExact(a/n)) => -15 - 12 * Math.toIntExact(-15/12) = -3这是正确的答案。

  

这是时钟方案的代码:

-3 + 12 = 9

答案 5 :(得分:0)

您可以将商与余数一起使用来计算计数和余数。

这是我为 Minecraft 插件编写的一些代码。

public class Division {
    public static ModuloDivResult divideMod(double a, double b) {
        double remainder = a % b;
        return new ModuloDivResult((a / b) - (remainder / b), remainder);
    }
}

我们还需要一个容器来存放这两个值。

public class ModuloDivResult {
    private double remainder;
    private double count;

    public ModuloDivResult(double count, double remainder) {
        this.remainder = remainder;
        this.count = count;
    }

    public double getRemainder() {
        return remainder;
    }

    public double getCount() {
        return count;
    }
}