groovy.lang.MissingMethodException字符串与java.lang.String

groovy.lang.MissingMethodException字符串与java.lang.String,string,groovy,String,Groovy,我在做一个编码挑战,以之字形打印给定的文本: 这是曲折的: t a g h s z a i i i z s g 所以我有我的代码(不确定它是否正确,但这不是问题的一部分) 我对java.lang.String和String以及Integer和int之间的区别感到非常困惑 对此的任何帮助或解释都将非常有用 谢谢。你应该让你的之字形方法静态 您的代码无法工作,因为如果没有static修饰符zigzag是一个实例方法,这意味着您需要一个类Main的实例

我在做一个编码挑战,以之字形打印给定的文本:

这是曲折的:

t     a     g
 h   s z   a
  i i   i z
   s     g
所以我有我的代码(不确定它是否正确,但这不是问题的一部分)

我对
java.lang.String
String
以及
Integer
int
之间的区别感到非常困惑

对此的任何帮助或解释都将非常有用


谢谢。

你应该让你的
之字形
方法
静态


您的代码无法工作,因为如果没有
static
修饰符
zigzag
是一个实例方法,这意味着您需要一个类Main的实例才能调用它。这里有一个介绍性教程,解释其中的一些概念:

你应该让你的
之字形
方法
静态


您的代码无法工作,因为如果没有
static
修饰符
zigzag
是一个实例方法,这意味着您需要一个类Main的实例才能调用它。这里有一个介绍性教程,解释了其中的一些概念:

您是否尝试过使方法之字形保持静态?我刚刚尝试过。。。这就奏效了。。。。。现在我很好奇为什么
static
能让它工作还是失败?没有静态修饰符,zigzag是一个实例方法,这意味着你需要一个Main类的实例才能调用它。这里有一个介绍性的教程来解释其中的一些概念:@delephin你能把它作为答案吗?我会投票的。你有没有试着让这个方法之字形静态化?我只是。。。这就奏效了。。。。。现在我很好奇为什么
static
能让它工作还是失败?没有静态修饰符,zigzag是一个实例方法,这意味着你需要一个Main类的实例才能调用它。这里有一个介绍性的教程来解释其中的一些概念:@delephin你能把它作为答案发布吗?我会投票给@delephin。谢谢@delephin。
class Main { 

    public void zigzag(String text, int lines) {
        String zigLines = [];
        while(lines > 0){
            String line = "";
            increment = lines+(lines-2);
            lines = lines + (" " * (lines-1));
            for(int i=(lines-1); i<text.length(); i+=increment) {
                line = line + text[i] + (" " * increment);
            }
            zigLines.add(0, line);
            lines--;
        }
        for(line in zigLines){
            println(line);
        }
    }

    static void main(String[] args) {
        zigzag("thisisazigzag", 4);
    }
}
groovy.lang.MissingMethodException: No signature of method: static Main.zigzag() 
  is applicable for argument types: (String, Integer) values: [thisisazigzag, 4]
Possible solutions: zigzag(java.lang.String, int)