Какова функция строки [0] в строке reader.next () [0] приведенного ниже кода - PullRequest
0 голосов
/ 23 февраля 2019
import java.util.*

fun main(args: Array<String>) {
    val reader = Scanner(System.`in`)
    print("Enter two numbers: ")

    // nextDouble() reads the next double from the keyboard
    val first = reader.nextDouble()
    val second = reader.nextDouble()

    print("Enter an operator (+, -, *, /): ")
    val operator = reader.next()[0]

    val result: Double

    when (operator) {
        '+' -> result = first + second
        '-' -> result = first - second
        '*' -> result = first * second
        '/' -> result = first / second
        // operator doesn't match any case constant (+, -, *, /)
        else -> {
            System.out.printf("Error! operator is not correct")
            return
        }
    }

    System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result)
}

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

next() возвращает String, поэтому оператор [] переводится в метод get для String.С индексом 0 этот вызов возвращает первый символ String.

0 голосов
/ 23 февраля 2019

Если reader.next () возвращает массив, то оператор будет иметь значение первого элемента возвращаемого массива.

...