Implementieren Sie die Floor-Modulo-Funktion in Kotlin

David Mbochi Njonge 8 Oktober 2023
  1. Erstellen Sie ein neues Kotlin-Projekt
  2. Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für Int in Kotlin
  3. Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für Double
  4. Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für Float
  5. Abschluss
Implementieren Sie die Floor-Modulo-Funktion in Kotlin

Jede Programmiersprache verfügt über Operatoren, die bei verschiedenen Berechnungen helfen, darunter arithmetische Operatoren, Zuweisungsoperatoren, Vergleichsoperatoren und logische Operatoren.

Diese Operatoren helfen uns bei der Durchführung gängiger arithmetischer Operationen, erfüllen jedoch nicht immer unsere Anforderungen. In solchen Situationen tut der Entwickler alles, um einen Algorithmus zu erstellen, der diese Operatoren verwendet, um seine Anforderungen zu erfüllen.

Diese Algorithmen werden normalerweise mit einer Methode abstrahiert; Wir müssen diese Methode nur mit den richtigen Parametern aufrufen, um unser Ergebnis zu erhalten.

Zum Beispiel ist mod() eine Erweiterungsfunktion, die von allen Number-Typen in Kotlin implementiert wird, um den Rest der Bodenteilung dieser Zahl mit einer anderen Zahl zu berechnen, aber sie akzeptiert nur ein Argument vom Typ Double oder Float.

In diesem Lernprogramm erfahren Sie, wie Sie eine benutzerdefinierte Funktion erstellen, um den Rest der Bodenteilung dieser Zahl mit einer anderen Zahl zu berechnen, indem Sie ein beliebiges Argument verwenden, das den Anforderungen des Entwicklers entspricht.

Erstellen Sie ein neues Kotlin-Projekt

Öffnen Sie IntelliJ IDEA und wählen Sie Datei > Neu > Projekt. Geben Sie im sich öffnenden Fenster ein Projekt namens floor-modulo ein, wählen Sie Kotlin im Abschnitt Sprache und wählen Sie Intellij im Abschnitt System erstellen.

Drücken Sie abschließend die Schaltfläche Erstellen, um das Kotlin-Projekt zu generieren.

Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für Int in Kotlin

Nachdem das Projekt generiert wurde, erstellen Sie eine Datei namens Main.kt im Ordner src/main/kotlin und kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein.

infix fun Int.floorMod(other: Double) =
    ((this % other) + other) % other

fun main(){
    val intValue = 5
    println(intValue.floorMod(3.2))
}

In diesem Code haben wir eine Erweiterungsfunktion namens floorMod() erstellt, eine Funktion vom Datentyp Int. Diese Methode berechnet den Rest der Fußbodenteilung eines Int-Wertes mit einem anderen Wert vom Typ Double.

Dies ist ein Beispiel, das zeigt, wie eine benutzerdefinierte Implementierung erstellt wird, was bedeutet, dass der Entwickler jede der Implementierungen vom Typ Number als Argument dieser Funktion verwenden kann.

Beachten Sie, dass die Funktion vor der Verwendung der Anwendung zuerst definiert werden muss. Führen Sie diesen Code aus und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.

1.7999999999999998

Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für Double

infix fun Double.floorMod(other: Int) =
    ((this % other) + other) % other

fun main(){
    val intValue = 5
    println(3.2.floorMod(intValue));
}

In diesem Code haben wir eine Methode namens floorMod() erstellt, eine Funktion vom Datentyp Int. Diese Methode berechnet den Rest der Fußbodenteilung eines Double-Wertes mit einem anderen Wert vom Typ Int.

Dieses Beispiel funktioniert genauso wie das vorherige Beispiel, und wenn wir ein anderes Argument an diese Methode übergeben müssen, müssen wir eine Funktion definieren, die das gewünschte Argument akzeptiert. Führen Sie diesen Code aus und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.

3.1999999999999993

Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für Float

infix fun Float.floorMod(other: Double) =
    ((this % other) + other) % other

fun main(){
    val floatValue = 5F
    println(floatValue.floorMod(3.2))

}

Inzwischen wissen wir, wie man eine benutzerdefinierte Funktion zur Berechnung des Bodenmoduls erstellt, um die erforderliche Spezifikation zu erfüllen. Dieser Code erstellt eine Erweiterungsfunktion namens floorMod() und ist eine Funktion vom Datentyp Float.

Diese Methode berechnet den Rest der Bodenteilung eines Float-Wertes mit einem anderen Wert vom Typ Double.

Wie in den vorherigen Beispielen erwähnt, der Prozess zum Erstellen einer Erweiterungsfunktion für Float, um ein anderes Argument zu akzeptieren. Führen Sie diesen Code aus und stellen Sie sicher, dass die Ausgabe wie unten gezeigt ist.

1.7999999999999998

Abschluss

In diesem Tutorial haben wir gelernt, wie man eine benutzerdefinierte Erweiterungsfunktion erstellt, die uns hilft, den Floor Modulo von zwei Zahlen zu berechnen. Zu den Themen, die wir behandelt haben, gehört die Berechnung des Floor Modulo für die Datentypen Int, Double und Float.

Beachten Sie, dass wir den gleichen Ansatz für die verbleibenden Number-Implementierungen wie Long, Short und Byte verwenden sollten.

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub