10

这是我的代码:

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)
}

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

4

2 回答 2

28

您可以使用以下代码读取一行并使用前 3 个空格分隔的标记作为输入。(期望例如“1 2 3”作为一行的输入)

val Array(m,n,d) = readLine.split(" ").map(_.toInt)
于 2012-10-07T14:05:00.993 回答
0

您可以在 scala 程序中使用 Java.util.Scanner。这支持在 java 中可用的 Scanner 的功能

import java.util.Scanner;
object Addition{
 def main(args: Array[String]){
  var scanner = new Scanner(System.in); //defining scanner object
  println("Enter two numbers : ");
  var a = scanner.nextInt();            //reading space separated input
  var b = scanner.nextInt();
  println("The result is : "+(a+b));
 }
}
于 2017-08-08T10:35:40.667 回答