2015-12-09 2 views
2

Вот что мне до сих пор нужно, чтобы получить мили в час, чтобы быть числом без десятичных знаков после него, и я застрял на том, как это сделать. Любая помощь будет очень оценена.Калькулятор миль в час

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(); 

ответ

1

Вы можете просто сделать:

public void calcMPH() 
{ 

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

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

} 
1

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; 

Если вы планируете делая большее приложение с большим количеством жонглирования номерами, я бы рекомендовал обратиться за связанным ответом. Если это только один из них, то использование быстрых математических функций, вероятно, лучше.

Смежные вопросы