2016-10-30 10 views
0

私はこのようなグルーヴィーなスクリプトを書きました:GroovyでSystem.in.readLine()を使用するには?

print "Please enter your name:" 
def name=System.in.readLine() 
println "My name is : ${name}" 

をしかし、私はそれを実行したときに、私は例外だ:

例外スロー groovy.lang.MissingMethodException:メソッドの署名なし:javaの。 io.BufferedInputStream.readLine()は引数の型に適用されます:()values:[] 可能なソリューション:readLines()、readLines(java.lang.String)、eachLine(groovy.lang.Closure)、eachLine .String、groovy.lang.Closure)、eachLine(int、groovy.lang.Closure)、eachLine(java.lang.String、int、groovy.lang.Closure)

System.in.readLines()は動作しましたが、そのメソッドは複数の行を読み込みました。
さらに、基本入力機能はコマンドラインでのみ機能します。 GroovyConsoleでは、スクリプトを実行すると何も入力できません。
ベテランは私を助けることができますか?どうもありがとう!

答えて

0

使用System.console().readLine()

def name=System.console().readLine("Please enter your name: ") 
println "My name is : ${name}" 
+0

はい!できます!大いに感謝する!しかし、私はまだ興味があります。 System.in.readLine()が動作しないのはなぜですか?指示書はそのようにした – Julian20151006

関連する問題