mirror of https://github.com/PikaMug/Quests.git
43 lines
1.3 KiB
Java
43 lines
1.3 KiB
Java
/*
|
|
* Copyright (c) PikaMug and contributors
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
* LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
|
|
package me.pikamug.quests.util;
|
|
|
|
import java.util.TreeMap;
|
|
|
|
public class RomanNumeral {
|
|
|
|
private final static TreeMap<Integer, String> map = new TreeMap<>();
|
|
|
|
static {
|
|
map.put(1000, "M");
|
|
map.put(900, "CM");
|
|
map.put(500, "D");
|
|
map.put(400, "CD");
|
|
map.put(100, "C");
|
|
map.put(90, "XC");
|
|
map.put(50, "L");
|
|
map.put(40, "XL");
|
|
map.put(10, "X");
|
|
map.put(9, "IX");
|
|
map.put(5, "V");
|
|
map.put(4, "IV");
|
|
map.put(1, "I");
|
|
}
|
|
|
|
public static String getNumeral(final int number) {
|
|
final int l = map.floorKey(number);
|
|
if ( number == l ) {
|
|
return map.get(number);
|
|
}
|
|
return map.get(l) + getNumeral(number-l);
|
|
}
|
|
}
|