主方法结束时的方法调用给出了一个错误说"非静态方法不能从静态上下文中引用"我不确定我在方法调用中做错了什么。
public static void main(String[] args)
{
ArrayList<Candidate> voteCount = new ArrayList<Candidate>();
//add objects to voteCount
printListResults(voteCount);
totalListVotes(voteCount);
printListTable(voteCount);
}
public void printListResults(ArrayList<Candidate> election)
{
//some code
}
public int totalListVotes(ArrayList<Candidate> election)
{
//some code
}
public void printListTable(ArrayList<Candidate> election)
{
//some code
}
答案 0 :(得分:1)
您只需要将这些方法声明为静态
public static void printListResults(ArrayList<Candidate> election) {
//some code
}
public static int totalListVotes(ArrayList<Candidate> election) {
//some code
}
public static void printListTable(ArrayList<Candidate> election) {
//some code
}
另一种方法是实例化你的类的一个对象,正如JoschJava的答案所指出的那样。无论哪种方式都可行。您选择哪种方法部分取决于品味,部分取决于您的应用需求(超出了本问题的范围)。
答案 1 :(得分:0)
问题在于您尝试从静态方法调用类方法。您需要实例化您的类:
YourClass classObj = new YourClass();
classObj.printListResults(voteCount);