if (vote1 == 1) {
result[0] = result[0] + 1;
i.println(pres1 + " " + result[0]);
}
我的if语句最多为4(例如:else if (vote1==2...3...4)
)。每次我选择多个候选人时,结果都会出错,有时输出会发生变化。我希望每当我选择候选人1时,他的投票会增加,当我选择其他候选人时,他们的投票也没有任何变化。
例如:
candidate 1 = 8 (and increment)
candidate 2 = 3 (and increment)
candidate 3 = 5 (and increment)
candidate 4 = 6 (and increment)
请有人帮忙,我的项目真的需要它
答案 0 :(得分:3)
如果你需要增加多个候选人,你需要某种循环来更新每个候选人的投票:
int nbCandidates = 4;
int[] result = new int[nbCandidates];
// assuming you want to increment candidate 1, 3 and 4
// contained in an array
int[] candidatesToUpvote = {1,3,4};
for (int c : candidatesToUpvote) {
result[c-1] += 1;
}
这里我假设候选人用[1,4]之间的数字来识别。由于数组索引在Java中从0开始,因此必须使用(id - 1)
从id转换为索引。
有一个更健壮的解决方案HashMap<Integer, Integer>
,其中键是候选ID,值将是投票值。
答案 1 :(得分:0)
如果您的投票值是1,2,3,4 - 您可以在每次投票时使用以下内容:
result[vote-1]++;
这个想法是你使用投票是一个正确范围的值(首先验证它!),然后你使用这个值作为你的数组的偏移量,并增加相关的条目。