如何在Groovy中从控制台读取参数到方法?

| 我是groovy的新手,我正在使用下面的代码行从控制台读取2个变量的值。
System.in.withReader {   
  println \"Version: \"  
  version = it.readLine()  
  println \"Doc Type:\"  
  Doc=it.readLine()  
  call getBillID(version,Doc)
}
getBillid
方法如下
def getBillID(int version,int doc)
{  
  allNodes.BillID.each {
    theregularExpression=/\\d+_\\d+_\\d+_\\d_\\d+_\\d+_\\d_${version}_${Doc}_\\d+_\\d+/
    if(it != \"\" && it =~ theregularExpression) {
      println \"******\" + it
    }
  }
}
现在我想在我的
getBILLID
方法中使用这些变量值,但由于
No signature of method: ReadXML.getBillID() is applicable for argument types: (java.lang.String, java.lang.String) values: [9, ]
我哪里出错了。有人可以告诉我吗。     
已邀请:
除了@Kalarani的答案,您还可以执行以下操作:
System.in.withReader {
  print \"Version: \"
  int version = it.readLine() as int
  print \"Doc Type: \"
  int doc = it.readLine() as int
  getBillID( version, doc )
}
作为旁白;对于您的大小写和变量名,我会很小心,即:您有一个名为
Doc
的变量,并带有大写字母。这不是标准的命名方案,并且最好将所有小写字母用作变量名。您可以在
getBillID
方法中看到混淆之处。该参数称为
doc
(全部小写),但是在正则表达式中引用
${Doc}
(再次大写)。 这样的事情最终会导致您痛苦不堪,可能会花很长时间才能发现错误     
getBillId()方法在哪里定义?该方法的签名是什么?如果可以发布它,将有助于理解您的问题。     

要回复问题请先登录注册