首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >groovy.lang.MissingMethodException字符串与java.lang.String

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

Stack Overflow用户
提问于 2018-09-15 05:13:10
回答 1查看 578关注 0票数 0

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

thisisazigzag:

代码语言:javascript
复制
t     a     g
 h   s z   a
  i i   i z
   s     g

所以我有了我的代码(不确定它是否正确,但这不是问题的一部分)

代码语言:javascript
复制
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);
    }
}

但是当我运行脚本时,我一直收到这个错误:

代码语言:javascript
复制
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)

我对java.lang.StringString的区别以及Integerint之间的区别感到非常困惑

任何对此的帮助或解释都将是非常好的!

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-15 05:33:54

您应该将您的zigzag方法设置为static

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52339264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档