如何使用Java将Digits替换为String?

为此,我们创建一个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.