java - 无效的方法声明;需要返回类型

时间:2013-03-29 06:05:40

标签: java oop

在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);
    }
}

我错过了什么?

5 个答案:

答案 0 :(得分:6)

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

对于Voter

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

for Candidates class

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

另外一件事,(感谢Frank Pavageau您的班级名称为Candidates,并且您已使用Candidate定义了构造函数而没有s ,这就是为什么它被认为是一种常规方法,因此应该有一个返回类型。您将构造函数重命名为Candidates,或将您的类重命名为Candidate,这样会更好。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

invalid method declaration; return type required

错误信息清楚地说明了;你需要给每种方法的返回类型。如果没有返回类型,请给出无效。

答案 4 :(得分:0)

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

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

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