我有这个类,在printVotes方法中,每次打印每个投票时都必须执行if语句。有没有办法结合if语句。我可以打印所有候选人的姓名和他们同时获得的票数吗?
public class TestCandidate {
public static void main(String[] args)
{
Canidate[] canidate = new Canidate[5];
// create canidate
canidate[0] = new Canidate("John Smith", 5000);
canidate[1] = new Canidate("Mary Miller", 4000);
canidate[2] = new Canidate("Michael Duffy", 6000);
canidate[3] = new Canidate("Tim Robinson", 2500);
canidate[4] = new Canidate("Joe Ashtony", 1800);
printVotes(canidate) ;
}
public static void printVotes(Canidate [] List)
{
double max;
int index;
if (List.length != 0)
{
index = 0;
for (int i = 1; i < List.length; i++)
{
}
System.out.println(List[index]);
}
if (List.length != 0)
{
index = 1;
for (int i = 1; i < List.length; i++)
{
}
System.out.println(List[index]);
return;
}
}
}
答案 0 :(得分:1)
如果您传入List<Candidate> candidates;
并假设每位候选人都有List<Integer> Votes
:
List<Integer> votes= new ArrayList<Integer>() ;
for(Candidate c:candidates)
{
votes.add(c.GetVote()) ;
}
for(Integer v:votes)
{
System.out.println(v);
}
答案 1 :(得分:0)
您可以覆盖Candidate
类的toString()
方法,如下所示:
public String toString() {
return "Candidate Name: " + this.name + "\nVotes: " + this.votes;
}
然后你的printVotes
方法看起来像这样:
public static void printVotes(Candidate[] list) {
for(Candidate c : list) {
System.out.println(c);
}
}
正如其他人提到的那样,避免在变量名中使用大写字母,尤其是在使用List等单词的情况下。列表是一种集合类型,很容易混淆。