为此,我们创建一个HashMap类的对象,该对象在java.util 包中定义
Map<String, String> map = new HashMap<String, String>();
该hashmap对象将每个数字与其对应的单词表示形式相关联
map.put("0", "zero");
初始化一个空的字符串对象。
String newstr="";
接下来,在给定字符串的长度上运行for循环,并通过substring()
String类的方法提取每个字符。
通过containsKey()
方法检查字符是否作为键存在于映射对象中。如果是这样,则将其用作键,在map中获取其值部分,并将其附加到新字符串中。如果没有,则将字符本身添加到新字符串中。完整的代码如下:
import java.util.*; public class test { public static void main(String args[]) { Map<String, String> map = new HashMap<String, String>(); map.put("0", "zero"); map.put("1", "one"); map.put("2", "two"); map.put("3", "three"); map.put("4", "four"); map.put("5", "five"); map.put("6", "six"); map.put("7", "seven"); map.put("8", "eight"); map.put("9", "nine"); String s="I have 3 Networking books, 0 Database books, and 8 Programming books."; String newstr=""; for (int i=0;i<s.length();i++) { String k=s.substring(i,i+1); if (map.containsKey(k)) { String v=map.get(k); newstr=newstr+v; } else newstr=newstr+k; } System.out.println(newstr); } }
输出是所需的:
I have three Networking books, zero Database books, and eight Programming books.