2013-11-27 33 views
0

我试图用java.util.Scanner的从斯卡拉:如何使用java.util.Scanner中从斯卡拉

val scanner = new java.util.Scanner(System.in) 
val line = scanner.readLine() 
println(line) 

无论是在斯卡拉REPL粘贴或者运行scala file.scala,我得到这个:

:2: error: value readLine is not a member of java.util.Scanner 
val line = scanner.readLine() 

我错过了什么?

回答

4

java.util.Scanner没有readLine尝试nextLine

scala> val scanner = new java.util.Scanner(System.in) 
scanner: java.util.Scanner = java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=\,][decimal separator=\.][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\Q�\E][infinity string=\Q∞\E] 

scala> val line = scanner.nextLine() 
line: String = foo 
+0

咄阶,那就是我的意思! hehe – michelpm

+0

在扫描仪的REPL中tab-complete是有帮助的。 ;) – Brian

1

最简单的方法似乎是使用JavaConverters使用ScannerIterator

import scala.collection.JavaConverters._ 
... 
val input = new Scanner(System.in).asScala 
input.head // first element 
val asList = input.toList // scala list