Description
convert a speed measurement from one scale to another
License
Open Source License
Parameter
Parameter | Description |
---|
speed | the speed measurement to convert |
fromScale | the from scale, as defined by one of the speed related constants in this class |
toScale | the to scale, as defined by one of the speed related constants in this class |
Exception
Parameter | Description |
---|
IllegalArgumentException | if an invalid scale is provided |
Return
the converted speed measurement
Declaration
public static float convertSpeed(float speed, int fromScale, int toScale)
Method Source Code
//package com.java2s;
/*/*from w w w.j ava2 s.c o m*/
* Copyright (C) 2012, 2013 The MaGDAA Project
*
* This file is part of the MaGDAA Library Software
*
* MaGDAA Library Software is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This source code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this source code; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
public class Main {
/**
* constant to define the kilometers per hour speed scale
*/
public static final int KPH = 10;
/**
* constant to define the miles per hour speed scale
*/
public static final int MPH = 11;
/**
* convert a speed measurement from one scale to another
* @param speed the speed measurement to convert
* @param fromScale the from scale, as defined by one of the speed related constants in this class
* @param toScale the to scale, as defined by one of the speed related constants in this class
* @return the converted speed measurement
* @throws IllegalArgumentException if an invalid scale is provided
*/
public static float convertSpeed(float speed, int fromScale, int toScale) {
switch (fromScale) {
case KPH:
// convert from kilometers per hour
switch (toScale) {
case MPH:
return convertFromKphToMph(speed);
default:
throw new IllegalArgumentException("invalid toScale");
}
case MPH:
// convert from miles per hour
switch (toScale) {
case KPH:
return convertFromMphToKph(speed);
default:
throw new IllegalArgumentException("invalid toScale");
}
default:
throw new IllegalArgumentException("invalid fromScale");
}
}
private static float convertFromKphToMph(float kph) {
float conversionFactor = 1.609344f;
return kph / conversionFactor;
}
private static float convertFromMphToKph(float mph) {
float conversionFactor = 1.609344f;
return mph * conversionFactor;
}
}
Related
- speedToKMH(double kmh)
- speedToMPH(double kmh)
- speedToPace(float speedInMetersPerSecond, boolean imperial)