From 19e411314a757f029fd157cf9b2968b839c4f1d0 Mon Sep 17 00:00:00 2001 From: student Date: Wed, 5 Apr 2017 11:51:19 -0400 Subject: Work on markup interface --- src/main/java/bjc/inflexion/EnglishUtils.java | 67 +++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/main/java/bjc/inflexion/EnglishUtils.java (limited to 'src/main/java/bjc/inflexion/EnglishUtils.java') diff --git a/src/main/java/bjc/inflexion/EnglishUtils.java b/src/main/java/bjc/inflexion/EnglishUtils.java new file mode 100644 index 0000000..875d75e --- /dev/null +++ b/src/main/java/bjc/inflexion/EnglishUtils.java @@ -0,0 +1,67 @@ +/** + * (C) Copyright 2017 Benjamin Culkin. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package bjc.inflexion; + +/** + * @author student + * + */ +public class EnglishUtils { + private static String[] smallNums = new String[] { "zero", "one", "two", "three", "four", "five", "six", "seven", + "eight", "nine", "ten" }; + + private static String[] summaryNums = new String[] { "no", "one", "a couple of", "a few", "several" }; + private static String[] endSummaryNums = new String[] { "no", "one", "a couple of", "a few", "several" }; + + private static int[] summaryMap = new int[] { + /* + * no + */ + 0, + /* + * one + */ + 1, + /* + * a couple of + */ + 2, + /* + * a few + */ + 3, 3, 3, + /* + * several + */ + 4, 4, 4, 4 }; + + public static String smallIntToWord(int num) { + if (num >= 0 && num <= 10) { + return smallNums[num]; + } + + return Integer.toString(num); + } + + public static String intSummarize(int num, boolean atEnd) { + String[] nums = atEnd ? endSummaryNums : summaryNums; + + if (num >= 0 && num < 10) { + return nums[summaryMap[num]]; + } else + return "many"; + } +} -- cgit v1.2.3