英里每小时计算器

Miles per Hour Calculator

这是我目前所拥有的,我需要将每小时的英里数设为一个后面没有小数点的数字,但我不知道该怎么做。任何帮助将不胜感激。

P.S。如果我第一次发布这个错误,我很抱歉

import java.util.Scanner; 
import static java.lang.System.*;
import static java.lang.Math.*;

public class MilesPerHour
{
    private int distance, hours, minutes;
    private double mph;

    public MilesPerHour()
    {
        setNums(0,0,0);
        mph=0;
    }

    public MilesPerHour(int dist, int hrs, int mins)
    {
        distance = dist;
        hours = hrs;
        minutes = mins;

    }

    public void setNums(int dist, int hrs, int mins)
    {


    }

    public void calcMPH()
    {

        mph = (distance)/(hours + (minutes/60.0));

    }

    public void print()
    {
        System.out.println(distance + " miles in " + hours + " hours and " + minutes + " minutes = " + mph + "MPH.");

    }

    public static void main( String[] args )

    {

    Scanner keyboard = new Scanner(in);

        out.print("Enter the distance :: ");
        int dist = keyboard.nextInt();

        out.print("Enter the hours :: ");
        int hrs = keyboard.nextInt();

        out.print("Enter the minutes :: ");
        int mins = keyboard.nextInt();

        MilesPerHour test = new MilesPerHour(dist, hrs, mins);
        test.calcMPH();
        test.print();

你可以这样做:

public void calcMPH()
{

    mph = Math.round((distance)/(hours + (minutes/60.0)));
}
public void calcMPH()
{

    mph = Math.round((distance)/(hours + (minutes/60.0));

}

Java: Use DecimalFormat to format doubles and integers but keep integers without a decimal separator

这应该可以解释如何完全按照您的需要格式化数字。在您的情况下,使用 setMaximumFractionDigits(0) 是合适的。

链接响应当然是高级的(但仍然是一个很好的了解方法),并且有几种更简单的方法来处理您的特定用例。

Math.round(your_mph);

Math.floor(your_mph);

既可以工作,也可以进行类型转换(但是这是一种可怕的方法,您应该避免这样做。)

mph = (int) mph_calculation;

如果您计划制作一个更大的应用程序并处理更多的数字,我建议您使用链接响应。如果只是这一个用例,使用快速数学函数可能是更好的选择。