Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 我的除法结果一直是0_Java_Loops_Division - Fatal编程技术网

Java 我的除法结果一直是0

Java 我的除法结果一直是0,java,loops,division,Java,Loops,Division,我正在尝试做一个程序来计算一次公路旅行的mpg。我已经准备好了,但是每次跑步我的mpg都是0.0。我需要一些帮助。我必须进行mpg和totalMpg浮点运算,这样我才能进行浮点除法,如果这不合理的话,就这么说吧 package Gas; import java.util.Scanner; import static java.lang.System.out; public class GasTest { public static void main(String[] args) {

我正在尝试做一个程序来计算一次公路旅行的mpg。我已经准备好了,但是每次跑步我的mpg都是0.0。我需要一些帮助。我必须进行mpg和totalMpg浮点运算,这样我才能进行浮点除法,如果这不合理的话,就这么说吧

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++;
    }


}

}
封装气体;
导入java.util.Scanner;
导入静态java.lang.System.out;
公务舱{
公共静态void main(字符串[]args){
int气体;
国际英里;
国际旅行;
浮动mpg;
浮动总mpg=0;
int tripCounter=1;
扫描仪输入=新扫描仪(System.in);
out.println(“请输入行程数”);
trips=input.nextInt();

而(tripCounter如果
miles
大于
gas
,由于两者均为int,结果将为
0
,当分配给浮点变量
mpg
时,其将存储为
0.0

在计算时,您可能应该将它们声明为float或cast
gas

mpg = ((float)gas) / miles ;

如果
miles
大于
gas
,因为两者都是int,结果将是
0
,当分配给浮动变量
mpg
时,将存储为
0.0

在计算时,您可能应该将它们声明为float或cast
gas

mpg = ((float)gas) / miles ;

如果不想将
gas
声明为
float
,请在下面的表达式中将
gas
强制转换为
float
。 如JLS中所述,您可以利用这种方式

mpg = ((float)gas / miles) ;

如果不想将
gas
声明为
float
,请在下面的表达式中将
gas
强制转换为
float
。 如JLS中所述,您可以利用这种方式

mpg = ((float)gas / miles) ;

我建议您使用
double
,因为
float
很少有足够的精度。在这种情况下可能会这样做,但我建议您习惯使用
double
作为一个好习惯。您对
totalMpg
的计算完全错误。这是对指数加权平均值的估计,但我怀疑这不是您所说的不知道。那你怎么计算totalMpg呢?我建议你使用
double
,因为
float
很少有足够的精度。在这种情况下可能会这样,但我建议习惯使用
double
作为一个好习惯。你对
totalMpg
的计算完全错误。这是对指数增长的估计这是平均值,但我怀疑这不是你想要的。那么你怎么计算总MPG呢?