Implementieren Sie die Floor-Modulo-Funktion in Kotlin
- Erstellen Sie ein neues Kotlin-Projekt
-
Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für
Int
in Kotlin -
Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für
Double
-
Erstellen Sie eine benutzerdefinierte Floor-Modulo-Funktion für
Float
- Abschluss
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 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