测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
对每个测试用例输出1行,即A+B的值.
one + two = three four + five six = zero seven + eight nine = zero + zero =
3 90 96
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String string = scanner.nextLine(); String[] strs = string.split(" "); if (strs[0].equals("zero") && strs[1].equals("+") && strs[2].equals("zero") && strs[3].equals("=")) { break; } Map<String, Integer> myMap = new HashMap<String, Integer>(); myMap.put("one",1 ); myMap.put("two",2 ); myMap.put("three", 3); myMap.put("four", 4); myMap.put("five", 5); myMap.put("six", 6); myMap.put("seven",7 ); myMap.put("eight", 8); myMap.put("nine", 9); myMap.put("ten", 10); myMap.put("zero", 0 ); int indexAnd = 0; int indexEqual = 0; for (int i = 0; i < strs.length; i++) { if (strs[i].equals("+")) { indexAnd = i; }if (strs[i].equals("=") ) { indexEqual = i; } } String str1 = ""; for (int i = 0; i < indexAnd; i++) { str1 += Integer.toString(myMap.get(strs[i])) ; } int a1 = Integer.parseInt(str1); String str2 = ""; for (int i = indexAnd + 1; i < indexEqual; i++) { str2 += Integer.toString(myMap.get(strs[i])); } int a2 = Integer.parseInt(str2); System.out.println(a1+a2); } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()){ String line = scanner.nextLine(); String s = line.replace("zero", "0") .replace("one", "1") .replace("two", "2") .replace("three", "3") .replace("four", "4") .replace("five", "5") .replace("six", "6") .replace("seven", "7") .replace("eight", "8") .replace("nine", "9") .replace(" ", "") .replace("=", ""); String[] ss = s.split("\\+"); System.out.println(Integer.parseInt(ss[0])+Integer.parseInt(ss[1])); } } }