6

Java OOP プロジェクトで、コンストラクターで 3 つのエラーが発生しました。

.\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)

もう 1 つ、 ( Frank Pavageauのおかげで )クラス名はであり、コンストラクターをwithoutでCandidates定義しているため、通常のメソッドと見なされているため、戻り値の型が必要です。コンストラクターの名前を に変更するか、クラスの名前を変更したほうがよいでしょう。CandidatesCandidatesCandidate

于 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()では、戻り値の型を持たないメソッドを 1 つだけ示しています。確かに、戻り値の型を宣言していない他のメソッドもあるでしょう。

于 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 に答える