java - 我的除法语句一直为 0

标签 java loops division

我正在尝试编写一个程序来计算公路旅行的英里数。我已经安排好了,但每次运行我的 mpg 都是 0.0。我需要一些帮助。我必须让 mpg 和 totalMpg float ,这样我才能做浮点除法,如果那没有意义的话就这么说。

package Gas;

import java.util.Scanner;
import static java.lang.System.out;

public class GasTest {

public static void main(String[] args) {

    int gas;
    int miles;
    int trips;
    float mpg;
    float totalMpg = 0;
    int tripCounter = 1;

    Scanner input = new Scanner (System.in);

    out.println("Please input number of trips");
    trips = input.nextInt();

    while (tripCounter <= trips){
        out.println ("Input gallons of gas used");
        gas = input.nextInt();
        out.println("Input miles traveled on trip");
        miles = input.nextInt();
        mpg = (gas / miles) ;
        out.println("Your MPG for this trip was " + mpg);
        totalMpg = (mpg + totalMpg) / 2;
        out.println("Your overall MPG for all trips is " + totalMpg);
        tripCounter++;
    }


}

}

最佳答案

在下面的表达式中将 gas 转换为 float ,如果你不想将 gas 声明为 float。 这样你就可以利用 Widening Primitive Conversion ,如 JLS 中所述。

mpg = ((float)gas / miles) ;

关于java - 我的除法语句一直为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16384994/

相关文章:

java - 什么时候使用(匿名)内部类是安全泄漏的?

java - 二叉搜索树添加方法引用迷路

matlab - 删除子串

javascript - 除法产生 NaN

python - 在 C 中除以大(多)数(得到一个零,当我知道它不为零时)

jquery - 悬停动画后无法弄清楚如何使文本出现在 div 中

java - 最佳API模型设计

javascript - 如何在ejs页面设置JSON值

C编程元素数组到sprintf()

java - 循环运行 Junit 测试,如果两者之间的一个失败,则继续运行