Scala,如何在一行中读取多个整数并将它们分别放在一个变量中?

vmp*_*vmp 9 io integer scala

这是我的代码:

object theater extends App {

    val m = readInt
    val n = readInt
    val a = readInt

    val c1 = m/a + (if(m%a == 0) 0 else 1)
    val c2 = n/a + (if(n%a == 0) 0 else 1)
    print(c1 + c2)
}
Run Code Online (Sandbox Code Playgroud)

但输入格式为:同一行中的3个整数.但是对于一行中的3个整数,scala会将其视为字符串.如何读取该字符串并获取3个分离变量中的3个值?

Uwe*_*orn 25

您可以使用以下代码读取一行并使用前3个空格分隔的标记作为输入.(预计例如"1 2 3"作为一行输入)

val Array(m,n,d) = readLine.split(" ").map(_.toInt)
Run Code Online (Sandbox Code Playgroud)

  • `val Array(m,n,d)= readLine.split("").map(_.toInt)` (2认同)
  • 另一个:`val x#:: y#:: z#:: rest = Stream.continually(readInt).take(3)` (2认同)
  • @ 4e6如果我输入"1 2 3 [Enter]",我认为这是预期的输入格式,这对我不起作用. (2认同)