java - 简单 Java 方法将无法运行。方法内方法

标签 java methods

这是我的代码:

public class Project1mrybak3
{   
    public static void main (String[] args)   
    {
        System.out.println("Begin Java Exection");  
        System.out.println("");

        // put your Java Program here

        //choose picture

        String  picfile = FileChooser.pickAFile();  
        Picture pic     = new Picture(picfile);

        //Create turtle 1   
        Turtle t1 = new Turtle (pic);   
        t1.setPenWidth(10);

        //Create turtle 2  
        Turtle t2 = new Turtle (pic);

        flower(t1,200);

        //show picture    
        pic.show();

        System.out.println("");     
        System.out.println("End Java Exection");
    }//end of main class


    public static void flower (Turtle tparam, int x )     
    {     
        tparam.forward(x);     
    }

    public static void flowers ()       
    {      
        flower(t1,15);    
    }
} // end of Template class

如您所知,它没有多大意义,但我才刚刚开始编写它。我的问题是,对于最后一个方法 flowers,当我尝试运行它时,它说找不到符号变量 t1。如果我取出参数,它说它需要参数 Turtleint。我不能将方法放在方法内部吗?

最终我的目标是创建大约 4 个方法来绘制花的一部分,然后将它们全部放在一个方法中,然后在我的主要代码中,我可以使用 turtle 调用该方法>t1 和一些 x 变量。

感谢您的帮助和宝贵时间!

最佳答案

不,你不能把方法放在方法中。

如果您需要使用多种方法并且将您的变量作为参数传递没有意义,您应该将您需要的变量放入fields (or members) of a class中。 (阅读该链接会有所帮助)。将它们的声明移到它们所在的方法之外(例如 main),并移到类本身的范围内。然后,该类中的所有方法都可以引用这些变量:

  • this.为前缀
  • 或者就这样,只要没有同名的局部变量。

关于java - 简单 Java 方法将无法运行。方法内方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105892/

相关文章:

java - 具有复杂属性的 Logback 自定义布局

java - 无法在主方法中引用我的方法,出现编译错误

java - JDBC架构子系统

java - 以下两种方式会导致堆空间耗尽吗?

Java:找不到符号

java - java函数声明中<T, U extends T>的含义

javascript - 在类内部使用 Javascript 方法转换为小写和大写

Python 方法不返回

java - AES 仅共享 key (无盐或 IV)

java检测点击的按钮