两个静态整数的除法总是返回0%的比例

时间:2014-02-21 15:16:18

标签: java eclipse

我的代码:

public class Test {

public static int l = 29;
public static int w = 16;
public static int total = w + l;
public static int result = w / total;
public static int Result = total * 100;

 public static void main(String[] args) {

        System.out.println("You're W/L ratio is: " + (Result) + "%"); // Display the string.
 }
}

控制台中的响应:您的W / L比率为:0%

3 个答案:

答案 0 :(得分:2)

你正在进行int分区,它总是返回一个int,所以w / total总是0,因为总和总是大于w。首先乘以100。

int result = (w * 100) / total;

此外,您还需要学习和使用Java命名规则。变量名称应以小写字母开头。

答案 1 :(得分:1)

通过将wtotal转换为double来进行计算,或者只是将它们double打开。对于第一个选项:

public static double result = (double)w / (double)total;

答案 2 :(得分:1)

当两个数字都是整数时,无论何时进行除法,结果都会得到整数作为回报。

实际上意味着你将得到(a / b)的最低值;即:

  

1/2 = 0为1/2 => 0.5>地板0.5 = 0;

     

3/4 = 0为3/4 => 0.75>地板0.75 = 0;