我正在尝试将两个数字相除以获得百分比,然后打印出来。相关方法如下:

public void process_winner(String candidates[], int votes[])
{
   double percent = (mostVotes / votes.length) * 100;
   if (mostVotes > votes.length / 2)
      System.out.println("Winner: " + candidates[mostVotesIndex] + "(" + percent + "%)");
   else
      System.out.println("None (no majority)");
   System.out.println("");
}


问题行是:

double percent = mostVotes / votes.length;


mostVotes是一个int,其值为6,而votes.length是10。我使用调试器对此进行了验证。

它的百分比变量显示为0.0,应显示60.0

最佳答案

您需要强制转换为double,或更改操作顺序。

做这个:

double percent = (mostVotes * 100 ) / votes.length;

关于java - 除法不适用于数组长度的JAVA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19901603/

10-11 01:14