import java.util.Scanner
fun main() {
val scanner = Scanner(System.
in)
val a = scanner.next()
val c = scanner.nextLine()
println(a)
println(c)
}
#
kotlin #
javaDlaczego nie czyta mi w konsoli val c? tylko po wpisaniu np. KOT odrazu printuje pierwszą wartość i nie mogę wpisać drugiej do konsoli?
Po wykonaniu scanner.next() pobierasz pierwszy napis aż do napotkania białego znaku, więc do zmiennej a przypisany zostaje "KOT" a w buforze skannera zostaje "\n".
Gdy następnie wykonasz scanner.nextLine() zostaje wczytane wszystko do pierwszego napotkanego znaku nowej linii, czyli pobierasz "" a w skanerze już nic nie zostaje. Gdybyś zamiast KOT wpisał KOT MRUCZEK wypisałoby obydwa słowa.