在我编写了所有允许您输入姓名和投票数量的代码后,将其放入表中并给出百分比,我想在此代码中添加一个部分,它给出了获胜者的名字和获得的候选人最低票数。
整个代码
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println(" Enter The names And votes ");
int [] Votes = new int[5];
String [] names = new String[5];
double [] Perc = new double[5];
int sum = 0;
for ( int i = 0,j = 0 ; i < 5 ; i++, j++){
names[j] = s.next();
Votes[i] = s.nextInt();
sum += Votes[i];
}
for ( int i = 0 ; i < 5 ; i++ ){
Perc[i] = ((double)(Votes[i]) / sum ) * 100;
}
System.out.println("The total information about the candidates are: ");
System.out.println("Candidate " + '\t' + "Votes received " + '\t' + " Percentage of votes");
for ( int i = 0 ; i < 5 ; i++ ){
System.out.printf(names[i] + '\t' + '\t' + Votes[i] + '\t' + " \t " + "%.2f" , Perc[i]);
System.out.println();
}
}
}
我这是为了获得最高票数
int max = Votes[0];
for ( int i = 1 ; i < 5 ; i++){
if ( max < Votes[i] )
max = Votes[i];
如何将其与姓名[i]联系起来?
注意:我尝试在此处发布输出,但它以正确的形式显示。
这是:
> Enter The names And votes
Example1
6000
example2
5000
example3
4000
example4
3000
example5
2000
The total information about the candidates are:
Candidate Votes received Percentage of votes
Example1 6000 30.00
example2 5000 25.00
example3 4000 20.00
example4 3000 15.00
example5 2000 10.00
答案 0 :(得分:3)
尝试将其存储在变量中。
int max_i = 0;
int max = Votes[max_i];
for ( int i = 0 ; i < 5 ; i++) {
if ( max < Votes[i] ) {
max_i = i;
max = Votes[max_i];
}
}
答案 1 :(得分:0)
尝试存储最大投票数的最后一个'i'。之后,只需通过在名称[](名称[i])中获取位置i的元素或保存它的变量来获取名称。
int name_index = 0;
int max = Votes[0];
for ( int i = 0 ; i < 5 ; i++){
if ( max < Votes[i] ){
max = Votes[i];
name_index = i;
}
}
String target_name = names[name_index];
这是因为您同时循环两个数组,索引时投票和名称位于相同的位置。