Java参数错误,请协助

时间:2013-03-11 13:03:57

标签: java

无法编译此代码,我收到一条错误消息:

invalid method declaration; return type required public MineFinderFrame(int nc, int nr,int mod)

请任何人修改我的代码吗?

class MineFinderPanel extends JPanel implements MouseListener
 {
int numCols;
int numRows;
int myModel;


 public static void main(String[] args)
 {
    MineFinderFrame w = new MineFinderFrame(30,50,42);
    w.numRows = 50; // 50 rows
    w.numCols = 20; // 20 columns
    w.myModel = 42;
    w.setVisible(true);
}

public MineFinderFrame(int nc, int nr,int mod)
{
   numCols = nc;
   numRows = nr;
   myModel = mod;
   addMouseListener(this);

}

6 个答案:

答案 0 :(得分:4)

如果重命名类,则还必须重命名此类中的构造函数。

所以我从这开始:

public MineFinderPanel(int nc, int nr,int mod)
{
   numCols = nc;
   numRows = nr;
   myModel = mod;
   addMouseListener(this);
}

然后,您还必须将main方法中的第一行更改为

MineFinderPanel w = new MineFinderPanel(30,50,42);

答案 1 :(得分:1)

你的第二个函数需要声明一个返回类型。

如果您的功能没有被提及返回任何内容,请使用 void

public void MineFinderFrame(int nc, int nr, int mod)

答案 2 :(得分:1)

如果这是您要实例化的类型,则需要一个名为MindFinderFrame的类。你的意思是将MindFinderPanel命名为MindFinderFrame吗? (或者,相反,也许你应该打电话,

MindFinderPanel m = new MindFinderPanel(...);

答案 3 :(得分:1)

方法MineFinderFrame(int nc,int nr,int mod)没有说明它返回的是什么类型。

你的意思是它是构造函数吗?如果是,则应该与该类名称相同:

public MineFinderPanel(int nc, int nr,int mod) {
  numCols = nc;
  numRows = nr;
  myModel = mod;
  addMouseListener(this);
}

答案 4 :(得分:1)

MineFinderFrame应该是构造函数吗?

如果是,则必须与班级(MineFinderPanel,而不是MineFinderFrame)具有相同的名称。 否则,这是一种常规方法,必须具有返回类型。

答案 5 :(得分:0)

public MineFinderFrame (int nc, int nr,int mod)

是一个名为MineFinderFrame的类的构造函数,您尝试将其用作名为MineFinderPanel的类的构造函数。