在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);
}
}
我错过了什么?
答案 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 方法中缺少的内容。