Arrays 在Scala中读取数组中的输入行?

Arrays 在Scala中读取数组中的输入行?,arrays,string,scala,Arrays,String,Scala,我通过readLine()从stdin读取了10行输入。如何将这10行读入字符串数组?您可以使用1到10创建一个从1到10的范围,然后映射到该范围,而不考虑实际数字,只读取行: (1 to 10).map(_ => readLine()).toArray 正如您在评论中提到的,仅通过对数组调用println无法轻松打印数组,但是Seqs支持它: scala> println(Array("a", "b", "c")) [Ljava.lang.String;@60b85ba1 sc

我通过
readLine()
stdin
读取了10行输入。如何将这10行读入字符串数组?

您可以使用
1到10创建一个从1到10的范围,然后映射到该范围,而不考虑实际数字,只读取行:

(1 to 10).map(_ => readLine()).toArray
正如您在评论中提到的,仅通过对数组调用
println
无法轻松打印数组,但是
Seq
s支持它:

scala> println(Array("a", "b", "c"))
[Ljava.lang.String;@60b85ba1

scala> println(Seq("a", "b", "c"))
List(a, b, c)

您可以使用
1到10
创建一个从1到10的范围,然后映射到该范围,而不考虑实际数字,只读取以下行:

(1 to 10).map(_ => readLine()).toArray
正如您在评论中提到的,仅通过对数组调用
println
无法轻松打印数组,但是
Seq
s支持它:

scala> println(Array("a", "b", "c"))
[Ljava.lang.String;@60b85ba1

scala> println(Seq("a", "b", "c"))
List(a, b, c)

更直接的方法是:

Array.fill(10){readLine()}

更直接的方法是:

Array.fill(10){readLine()}

实际上我已经试过了,当我打印它时,出于某种原因,它给了我一大堆胡言乱语:
[Ljava.lang。String@bunch因为
Array
只是一个Java数组,这意味着
toString
方法是一个默认方法,并打印type+hashCode。使用
.toSeq
来获得Scala序列。用示例更新了我的答案。要打印数组,请尝试:
a.mkString(“,”)
实际上我已经试过了,当我打印它时,出于某种原因,它给了我一大堆胡言乱语:
[Ljava.lang。String@bunch因为
Array
只是一个Java数组,这意味着
toString
方法是一个默认方法,并打印type+hashCode。使用
.toSeq
来获得Scala序列。用示例更新我的答案。要打印数组,请尝试:
a.mkString(“,”