这是我到目前为止我需要将每小时的里程数作为一个没有小数的数字,然后我就不知道怎么做了。任何帮助将不胜感激。
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();
答案 0 :(得分:1)
你可以这样做:
public void calcMPH()
{
mph = Math.round((distance)/(hours + (minutes/60.0)));
}
答案 1 :(得分:1)
public void calcMPH()
{
mph = Math.round((distance)/(hours + (minutes/60.0));
}
答案 2 :(得分: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;
如果你计划制作一个更大的数字杂耍的更大的应用程序,我建议你去寻找链接的响应。如果只是这个用例,使用快速数学函数可能是更好的选择。