V praktických Kotlin projektoch sa štandardný vstup takmer nepoužíva. Pre pochopenie Kotlinu ho však potrebujeme.
Najjednoduchším spôsobom je použiť funkciu readln(), ktorá vráti String obsahujúci obsah riadku štandardného vstupu:
fun main() {
val riadok = readln()
}
Trochu verzatilnejším spôsobom je použitie objektu Scanner z balíka java.util. Tomuto objektu vieme prihodiť odkiaľ má čítať (štandardný vstup označujeme ako System.in) a pomocou funkcií next... vieme načítať aj menšie a správne pretypované časti vstupu:
import java.util.Scanner
fun main() {
val scanner : Scanner = Scanner(System.`in`)
val riadok : String = scanner.nextLine()
val slovo : String = scanner.next()
val cislo : Int = scanner.nextInt()
val destinne : Double = scanner.nextDouble()
}
Opäť netreba zabudnúť, že nextLine dočíta aktuálny riadok. Preto sa môže stať že vám nextLine načíta prázdny riadok. Ak ste napríklad načítali pomocou next všetky slová z riadku, ale ešte sa kurzor nedostal do riadku ďalšieho.
Pozor!
readln()aScannernikdy nekombinujeme! Môžeme dostať neočakávané výstupy
Predpokladaj, že na štandardnom vstupe dostaneš vždy 2 čísla oddelené znakom konca riadku. Na štandardný výstup vypíš ich súčet.
Bonusy:
+-*/) a ďalšie čísloVytvor obojsmernú kalkulačku pre prevody jednotiek. Kalkulačka nech si najprv overí smer prevodu. Vyber si jednu z týchto alternatív: