6

在 Java OOP 项目中,我的构造函数出现三个错误:

.\Voter.java:14:错误:方法声明无效;需要返回类型

.\Candidates.java:7:错误:方法声明无效;需要返回类型

.\Candidates.java:14:错误:方法声明无效;需要返回类型

构造函数代码:

public class Voter{
    private String name;
    private int votNum;
    private int precint;

    public Voter(String name, int votNum, int precint)
    {
        this.name = name;
        this.votNum = votNum;
        this.precint = precint;
    }

    public setDetails(String name, int votNum, int precint)
    {
        this.name = name;
        this.votNum = votNum;
        this.precint = precint;
    }...}



public class Candidates
{
    public String candName;
    private int position;
    private int totalVotes;

    public Candidate (String candName, int position, int totalVotes)
    {
        this.candName = candName;
        this.position = position;
        this.totalVotes = totalVotes;
    }

    public setDetails (String candName, int position, int totalVotes)
    {
        this.candName = candName;
        this.position = position;
        this.totalVotes = totalVotes;
    }...}

我这样声明我的构造函数:

public class MainClass{
    public static void main(String[] args){
        System.out.println("Previous voter's info: ");
        Voter vot1 = new Voter("voter name", 131, 1);
        System.out.println("The Candidates: ");
        Candidates cand1 = new Candidates("candidate name", 1, 93);
    }
}

我错过了什么?

4

5 回答 5

7

在您的方法setDetails中,您没有为返回类型指定任何内容,如果它没有返回任何内容,则指定void

上课Voter

public void setDetails(String name, int votNum, int precint)

Candidates上课_

public void setDetails (String candName, int position, int totalVotes)

另一件事,(感谢 Frank Pavageau您的类名是Candidates并且您已经定义了构造函数Candidatewithout s,这就是为什么它被视为普通方法,因此应该具有返回类型。您将构造函数重命名为Candidates,或将您的类重命名为Candidate哪个更好。

于 2013-03-29T06:06:34.137 回答
0

您的Voter.setDetails函数没有返回类型。如果您不希望它返回,请将返回类型指定为void

public void setDetails(String name, int votNum, int precint)
{
    this.name = name;
    this.votNum = votNum;
    this.precint = precint;
}
于 2013-03-29T06:06:58.893 回答
0

为你的选民类中的所有方法添加一个返回类型。

目前在您的代码中,您只显示了一种showDetails()没有返回类型的方法。当然,还有其他方法您还没有声明返回类型。

于 2013-03-29T06:07:44.283 回答
0

invalid method declaration; return type required

错误信息说得很清楚;您需要给出每种方法的返回类型。如果没有返回类型,就给 void。

于 2013-03-29T06:08:15.473 回答
0

方法应该有返回类型,它说明返回值的类型(如果从方法返回任何内容)。

如果没有返回任何内容,请指定 void。

这正是您的setDetails方法中缺少的内容。

于 2013-03-29T06:10:49.890 回答