0
votes

I wrote a groovy script like this:

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

But when I ran it ,I got an exception:

Exception thrown groovy.lang.MissingMethodException: No signature of method: java.io.BufferedInputStream.readLine() is applicable for argument types: () values: [] Possible solutions: 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)

And I found System.in.readLines() did work, but that method read multiple lines.
Besides, the basic input function can only work in command line. In GroovyConsole,when I run the script, I can't input anything.
Any veteran can help me? Thanks a lot!

1

1 Answers

1
votes

Use System.console().readLine()

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