Der Modulo-Operator in Scala

Suraj P 21 Juni 2023
  1. der Modulo-Operator in Scala
  2. die floorMod()-Methode in Scala
  3. die %(y:Float)-Methode in Scala
Der Modulo-Operator in Scala

In diesem Artikel lernen wir, wie man mit dem Modulo-Operator (%) und einigen anderen Methoden im Zusammenhang mit Modulo in Scala arbeitet.

der Modulo-Operator in Scala

Der Modulo-Operator % wird verwendet, um den Rest, genauer gesagt den vorzeichenbehafteten Rest, zu erhalten, wenn zwei Zahlen in Scala dividiert werden.

Syntax:

val z = x % y

z enthält den Rest, wenn x durch y dividiert wird. Sehen wir uns ein Beispiel an, um es besser zu verstehen.

Beispielcode:

object MyClass {

    def main(args: Array[String]) {

       val x = 15
       val y = 4
       val z = x % y
       println(z)
    }
}

Ausgang:

3

Wenn 15 durch 4 geteilt wird, ist der Rest 3, der in der Variablen z gespeichert und dann auf der Konsole ausgegeben wird,

die floorMod()-Methode in Scala

In Scala wird Math floorMod() verwendet, um das Floor-Modulo der übergebenen Argumente zurückzugeben. Wir können diese Methode überladen, um ein int- und long-Argument anzunehmen.

Wenn der Divisor Null ist, wird die ArithmeticException dividiert durch Null ausgelöst.

Syntax:

Math.floorMod(data_type x, data_type y)

Dabei ist der Parameter a der Dividende und der Parameter y der Divisor. Diese Parameter können entweder int oder long sein.

Diese Methode gibt den Floor-Modulo von (x - (floorDiv(x,y)*y) zurück.

Beispielcode:

object MyClass {
    def main(args: Array[String]) {

       val x = 15
       val y = 4
       val z = Math.floorMod(x,y)
       println(z)
    }
}

Ausgang:

3

Eine häufig gestellte Frage lautet: Was ist der Unterschied zwischen der floorMod()-Methode und dem %-Operator in Scala?.

Beide sind gleich, wenn unsere Argumente, also der Dividende und der Divisor, positiv sind, aber sie verhalten sich anders, wenn eines oder beide negativ sind. Dies geschieht hauptsächlich, weil die Methode das Floor-Modulo von (x - (floorDiv(x,y)*y) zurückgibt und für ihre Antwort von der Methode floorDiv() abhängig ist.

In einfachen Worten, die Methode floorMod() gibt das gleiche Vorzeichen wie ihr divisor, d.h. egal welches Vorzeichen y hat, es wird dasselbe Vorzeichen bei der Rückgabe des Ergebnisses befolgt.

Beispielcode:

object MyClass {

    def main(args: Array[String]) {

       println("first: ")
       println(Math.floorMod(+4, -3));
       println((+4 % -3))

        println("second: ")

       println(Math.floorMod(-4, +3))
       println((-4 % +3))

        println("Third: ")
       println(Math.floorMod(-4, -3))
       println((-4 % -3))

    }
}

Ausgang:

first:
-2
1
second:
2
-1
Third:
-1
-1

die %(y:Float)-Methode in Scala

In Scala wird %(y:Float) verwendet, wenn wir den Rest zurückgeben wollen, wenn ein Double durch einen Float-Wert dividiert wird.

Syntax:

double_value.%(y : Float)

Beispielcode:

object MyClass {

    def main(args: Array[String]) {

      val rem = (16.50012.toDouble).%(13:Float)
      println("The remainder is")
      println(rem)

    }
}

Ausgang:

The remainder is
3.500119999999999
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub