Typkonvertierung
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 38 von 93.
Da readLine() eine nullable Zeichenkette zurückgibt (null am Ende der Eingabe), musst du diese Eingabe konvertieren, wenn du mit Zahlen arbeiten möchtest. Kotlin stellt Konvertierungsfunktionen bereit, um Zeichenketten in andere Typen umzuwandeln.
Um eine Zeichenkette in eine Ganzzahl umzuwandeln, verwende toInt():
fun main() {
val input = readLine()!!
val number = input.toInt()
println(number + 10)
}Wenn der Benutzer „5“ eingibt, wandelt das Programm es in die Ganzzahl 5 um und addiert dann 10, um 15 zu erhalten. Ohne Umwandlung verkettet "5" + 10 Text und ergibt "510". Die vorherige Umwandlung führt zu einer numerischen Addition.
Für Dezimalzahlen verwende toDouble():
fun main() {
val price = readLine()!!.toDouble()
println("With tax: ${price * 1.1}")
}Du kannst die Konvertierung für übersichtlicheren Code direkt an readLine()!! anhängen. Weitere nützliche Konvertierungen sind toLong() für große Ganzzahlen und toBoolean() für boolesche Werte.
Diese Umwandlungen setzen voraus, dass die Eingabe gültig ist. Wenn jemand „hello“ eingibt, obwohl du eine Zahl erwartest, stürzt das Programm ab. Du wirst später im Kurs lernen, solche Fehler zu behandeln.
Aufgabe
EinfachSchreibe eine Funktion calculateFutureAge, die currentAge und yearsToAdd als Zeichenketten entgegennimmt und das zukünftige Alter als Ganzzahl zurückgibt.
Wandle beide Zeichenkettenparameter in Ganzzahlen um, addiere sie und gib das Ergebnis zurück.
Parameter:
currentAge(String): Das aktuelle Alter als Zeichenkette (z. B. "25")yearsToAdd(String): Die Anzahl der hinzuzufügenden Jahre als Zeichenkette (z. B. "10")
Rückgabewert: Die Summe beider Werte als Ganzzahl (Int)
Probier es selbst
fun calculateFutureAge(currentAge: String, yearsToAdd: String): Int {
// Schreibe hier den Code
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische EingabeÜbe selbstständig: Kotlin-Playground