Java 构造函数多边形(int[],int[],int)未定义
我试图弄明白为什么这个程序告诉我多边形的构造函数是未定义的 这是我得到的一个例外:Java 构造函数多边形(int[],int[],int)未定义,java,constructor,polygon,Java,Constructor,Polygon,我试图弄明白为什么这个程序告诉我多边形的构造函数是未定义的 这是我得到的一个例外: Exception in thread "main" java.lang.Error: Unresolved compilation problem: The constructor Polygon(int[], int[], int) is undefined at test.main(test.java:9) 阶级 请定义一个构造函数 Polygon(int[] xp,int[]
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The constructor Polygon(int[], int[], int) is undefined
at test.main(test.java:9)
阶级
请定义一个构造函数
Polygon(int[] xp,int[] yp,int xLength){
xpoints=xp;
ypoints=yp;
}
代码中很少有错误-
import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.geom.*;
public class Polygon extends Applet {
private int[] xpoints;
private int[] ypoints;
private Polygon poly;
Polygon(int[] xp,int[] yp){
xpoints=xp;
ypoints=yp;
}
static public void init(int[] xpoints,int[] ypoints){
poly = new Polygon(xpoints, ypoints);
}
}
它说您的多边形类必须有一个适合于
new Polygon(xpoints, ypoints, xpoints.length);
请参见您需要创建这样的构造函数:
public Polygon(int[] a, int[] b, int c){
//construct a new Polygon object with the parameters
}
现在的方法是,您只有
Object
中的默认构造函数,即Polygon()
我认为问题在于您的applet类已经隐藏了您想要使用的java.awt.Polygon
类
一种可能的解决方法是更改小程序类的名称:
import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.geom.*;
public class PolygonApplet extends Applet {
private int[] xpoints = { 0,-10, -7, 7, 10 };
private int[] ypoints = {-10, -2, 10, 10, -2 };
private Polygon poly;
public void init(){
poly = new Polygon(xpoints, ypoints, xpoints.length);
}
}
你认为新多边形(xpoints,ypoints,xpoints.length)怎么样你的代码有很多错误。请阅读。用两个数组中的点创建一个多边形。这不是完整的代码。我只是复制了开头部分,以了解如何创建多边形。请重命名您的类,或者明确地参考
新建java.awt.polygon
,这是您试图构建的类。问题是编译器正在多边形类中寻找构造函数(int[],int[],int)
,而不是核心Java API中的构造函数。我的印象是多边形已经有了这些参数的构造函数?嗯,似乎还没有;-)@Leo S/he希望构造java.awt.Polygon
的一个实例,它确实有这样一个构造函数。我最初有一个名为RandomShapes的类。我并不是想把这门课贴成多边形。那是我的错误。但是,即使更改了类名,也会引发相同的异常。也许您的输出目录中有一些旧的.class
文件?也许如果你删除你所有的.class
文件,重新编译你的.java
文件,事情会好起来的。我想出来了。。。必须直接导入Java.awt.Polygon。。谢谢你的帮助!
import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.geom.*;
public class PolygonApplet extends Applet {
private int[] xpoints = { 0,-10, -7, 7, 10 };
private int[] ypoints = {-10, -2, 10, 10, -2 };
private Polygon poly;
public void init(){
poly = new Polygon(xpoints, ypoints, xpoints.length);
}
}