英里每小时计算器
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;
如果您计划制作一个更大的应用程序并处理更多的数字,我建议您使用链接响应。如果只是这一个用例,使用快速数学函数可能是更好的选择。
这是我目前所拥有的,我需要将每小时的英里数设为一个后面没有小数点的数字,但我不知道该怎么做。任何帮助将不胜感激。
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;
如果您计划制作一个更大的应用程序并处理更多的数字,我建议您使用链接响应。如果只是这一个用例,使用快速数学函数可能是更好的选择。