Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算百分比时遇到的问题_Java - Fatal编程技术网

Java 计算百分比时遇到的问题

Java 计算百分比时遇到的问题,java,Java,我输入了一个选举代码,但我无法得到候选人的选票百分比。 这是我的密码: import java.util.Scanner; public class Voting { public static void main (String [] args) { int candidate1; int candidate2; int Toronto1; int Toronto2; int Mississauga1; int Mississaug

我输入了一个选举代码,但我无法得到候选人的选票百分比。 这是我的密码:

import java.util.Scanner;

public class Voting

{
  public static void main (String [] args)
   {
    int candidate1;
    int candidate2;
    int Toronto1;
    int Toronto2;
    int Mississauga1;
    int Mississauga2;
    int Brampton1;
    int Brampton2;
    int total_votes1;
    int total_votes2;
    int totalall;
    double percentage1;
    double percentage2;

    Scanner input = new Scanner (System.in);


    System.out.print("Votes for Candidate 1 from Toronto");
    Toronto1=input.nextInt();
    System.out.print("Votes for Candidate 2 from Toronto");
    Toronto2=input.nextInt();
    System.out.print("Votes for Candidate 1 from Mississauga");
    Mississauga1=input.nextInt();
    System.out.print("Votes for Candidate 2 from Mississauga");
    Mississauga2=input.nextInt();
    System.out.print("Votes for Candidate 1 from Brampton");
    Brampton1=input.nextInt();
    System.out.print("Votes for Candidate 2 from Brampton");
    Brampton2=input.nextInt();

    total_votes1=Toronto1+Mississauga1+Brampton1;
    total_votes2=Toronto2+Mississauga2+Brampton2;
    totalall=total_votes1+total_votes2;
    percentage1=(Toronto1+Mississauga1+Brampton1)/(total_votes1+total_votes2);
    percentage2=(Toronto2+Mississauga2+Brampton2)/(total_votes1+total_votes2);

    System.out.println("Election Results for Toronto:");
    System.out.println("Candidate 1 = " +Toronto1+ "");
    System.out.println("Candidate 2 = " +Toronto2+ "\n");

    System.out.println("Election Results for Mississauga:");
    System.out.println("Candidate 1 = " +Mississauga1+ "");
    System.out.println("Candidate 2 = " +Mississauga2+ "\n");

    System.out.println("Election Results for Brampton:");
    System.out.println("Candidate 1 = " +Brampton1+ "");
    System.out.println("Candidate 2 = " +Brampton2+ "\n");


    System.out.println("Candidate        Vote             Percentage\n");
    System.out.println("Candidate1         "  +total_votes1+ "                   "+percentage1+"%");
    System.out.println("Candidate2         "  +total_votes2+ "                   "+percentage2+"%");
    System.out.println("Total Votes        "  +totalall+"");

  }
}
答案是:

Votes for Candidate 1 from Toronto [5] Votes for Candidate 2 from Toronto [5] Votes for Candidate 1 from Mississauga [5] Votes for Candidate 2 from Mississauga [5] Votes for Candidate 1 from Brampton [5] Votes for Candidate 2 from Brampton [5] Election Results for Toronto: Candidate 1 = 5 Candidate 2 = 5 Election Results for Mississauga: Candidate 1 = 5 Candidate 2 = 5 Election Results for Brampton: Candidate 1 = 5 Candidate 2 = 5 Candidate Vote Percentage Candidate1 15 0.0% Candidate2 15 0.0% Total Votes 30
正如您所看到的,它显示的是0.0%,而不是50%。

看起来您正在进行整数除法。整数除以整数得到整数

因此20/40将==0,因为20小于40。如果需要浮点结果,请使用双精度:

(double) 20 / 40
或者对于百分比,至少先乘以100

i、 例如,改变

percentage1=(Toronto1+Mississauga1+Brampton1)/(total_votes1+total_votes2);


看起来你在做整数除法。整数除以整数得到整数

因此20/40将==0,因为20小于40。如果需要浮点结果,请使用双精度:

(double) 20 / 40
或者对于百分比,至少先乘以100

i、 例如,改变

percentage1=(Toronto1+Mississauga1+Brampton1)/(total_votes1+total_votes2);


你能告诉我怎么了吗你没有遵守我在你的System.out语句中没有看到%1或%2。你能告诉我怎么了吗?-在System.out语句中,我看不到percentage1或percentage2。@JasonC:不,如果它在括号内,它将允许整数除法返回非零小数。我将保持原样。谢谢,这非常有用。@JasonC:不,如果它在括号内,它将允许整数除法返回非零小数。我会保持原样的。谢谢你,这很有帮助。