新手程序员在这里。试图学习静态方法和递归。不知道为什么每当我尝试调用“drawCircle()”时我都会出现“.class expected”错误。我的代码如下。帮助PLZ?谢谢!
public class Drawliin
{
public static void drawCircle(int numberOfTimes, double radius, double center[])
{
int rep = 1;
if (rep == 1)
{
StdDraw.circle(center[0], center[1], radius);
rep++;
}
else if (rep <= numberOfTimes)
{
StdDraw.circle(center[0 + radius], center[1], radius);
StdDraw.circle(center[0 - radius], center[1], radius);
StdDraw.circle(center[0], center[1 + radius], radius);
StdDraw.circle(center[0], center[1 - radius], radius);
rep++;
drawCircle(numberOfTimes, radius, center[]);
}
}
public static void main(String[] args)
{
int N = Integer.parseInt(args[0]);
double r = Double.parseDouble(args[1]);
StdDraw.setXscale(-10, 10);
StdDraw.setYscale(-10, 10);
double c[] = new double[2];
drawCircle(N, r, c[]);
}
}
答案 0 :(得分:5)
应该是:
drawCircle(N, r, c);
您只需通过c
。你不需要再次表明它是一个数组。
答案 1 :(得分:1)
你的问题出在以下几个方面:
drawCircle(N, r, c[]);
drawCircle(numberOfTimes, radius, center[]);
他们应该是:
drawCircle(N, r, c);
drawCircle(numberOfTimes, radius, center);
您不需要再次将其定义为数组,您可以在参数中执行此操作。只需将参数传递给函数。
答案 2 :(得分:0)
删除'center'和'c:
中的大括号drawCircle(numberOfTimes, radius, center);
drawCircle(N, r, c);