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)