2016-10-30 2 views
0

Я написал заводной сценарий вроде этого:Как использовать System.in.readLine() в Groovy?

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 (java.lang .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