gpt4 book ai didi

java - 找不到百分比 - JAVA

转载 作者:行者123 更新时间:2023-12-02 01:01:37 24 4
gpt4 key购买 nike

所以我遇到了这个问题,找到百分比不起作用,我真的不知道为什么,所以我的任务是找到选举候选人的数量和选举人的数量,最后应该显示得票百分比示例,如果有 3 名候选人和 6 名选举人,第一名候选人获得 3 票,第二名获得 2 票,第三名获得 1 票,则应显示:50.00%,33.33%,16.67%。
下面是我的代码,它得到了正确的票数,但当涉及到百分比时,它在所有情况下都只显示 0.0%。我希望你们能帮助我。

import java.util.Scanner;

public class ElectionPercentage {
public static void main(String[]args){
//https://acm.timus.ru/problem.aspx?space=1&num=1263

Scanner sc = new Scanner(System.in);
System.out.println("Enter how many candidates are : ");
int candidates = sc.nextInt();
int [] allCandidates = new int[candidates];
int startingCandidate = 1;
for(int i = 0; i < candidates;i++){
allCandidates[i] = startingCandidate++; //now value of the first element will be 1 and so on.
}

//for testing System.out.println(Arrays.toString(allCandidates));

System.out.println("enter the number of electors : ");
int electors = sc.nextInt();
int [] allVotes = new int[electors];

for(int i =0;i < electors;i++){
System.out.println("for which candidate has the elector voted for :");
int vote = sc.nextInt();
allVotes[i] = vote; //storing all electors in array
}

System.out.println();
int countVotes = 0;
double percentage;
for(int i = 0;i<allCandidates.length;i++){
for(int k = 0; k < allVotes.length;k++){
if(allCandidates[i]==allVotes[k]){
countVotes++;
}
}
System.out.println("Candidate "+allCandidates[i]+" has : "+countVotes+" votes.");
percentage = ((double)(countVotes/6)*100);
System.out.println(percentage+"%");
countVotes = 0;
}
}
}

最佳答案

countVotes 是一个 int 6 也是一个 int。因此,代码中接近末尾的 (countVotes/6) 是整数除法。整数除法中的 11/6 是 1。5/6 是 0。它通过舍去所有小数进行四舍五入。这可能不是您想要的,特别是因为您随后尝试将其转换为双倍。

你转换了错误的东西。但你根本不需要 Actor 阵容;如果任何一方都是双除法,则整个事情就变成双除法。因此,不要使用: percentage = ((double)(countVotes/6)*100); 尝试 percentage = 100.0 * countVotes/6.0;

此外,据推测,6 确实应该是一个计算总票数的变量,不是吗?即选举人,因此:percentage = 100.0 * countVotes/electors;

事实上,我们以 100.0 开始计算,这意味着它将一直是双重数学。

关于java - 找不到百分比 - JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60567601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com