这是我的代码:
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
。如果我取出参数,它说它需要参数 Turtle
和 int
。我不能将方法放在方法内部吗?
最终我的目标是创建大约 4 个方法来绘制花的一部分,然后将它们全部放在一个方法中,然后在我的主要代码中,我可以使用 turtle
调用该方法>t1
和一些 x
变量。
感谢您的帮助和宝贵时间!
最佳答案
不,你不能把方法放在方法中。
如果您需要使用多种方法并且将您的变量作为参数传递没有意义,您应该将您需要的变量放入fields (or members) of a class中。 (阅读该链接会有所帮助)。将它们的声明移到它们所在的方法之外(例如 main
),并移到类本身的范围内。然后,该类中的所有方法都可以引用这些变量:
- 以
this.
为前缀 - 或者就这样,只要没有同名的局部变量。
关于java - 简单 Java 方法将无法运行。方法内方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19105892/