JAVA给字符串的每个字符一个数值

标签 java string char each

首先,对我的英语感到抱歉。

我试图获取字符串的每个字母,并为每个字母给出一些 int 值。

例如:姓名 = Joao。 J=3,o=1,a=4,o=1。

我稍后会使用这些数字进行一些计算。

这就是我到目前为止得到的:

static String separador(String nome){
        name = nome;
        char[] letras;
        letras = name.toCharArray();
        int qtd = letras.length;
        String fullName = "";

         for(int i=0; i<qtd; i++)
        {
            fullName = fullName + " " + letras[i];
        }

         return fullName;

    }

这让我分别得到每个字符。但可以得到其余的。

有人可以帮助我吗?

最佳答案

  1. 创建一个存储所有字符(A 到 Z)和相应数字的 map ,例如:

    Map m = new HashMap();
    m.put('A', 0);
    m.put('B', 1);
    
  2. 迭代输入的字符并检查该字符是否存在于上面的映射中。如果存在,则创建第二个 map ,并将该字符添加到第二个 map

    static String separador(String nome){
    name = nome;
    char[] letras;
    Map tempMap = new HashMap();
    Map m = new HashMap();
    m.put('A', 0);
    m.put('B', 1); 
    letras = name.toCharArray();
    int qtd = letras.length;
    String fullName = "";
    
     for(int i=0; i<qtd; i++)
    {
      if(m.containsKey(letras[i])
        tempMap.put(letras[i], m.get(letras[i]))
    }
    
     return tempMap;
    

    }

关于JAVA给字符串的每个字符一个数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32486485/

相关文章:

java - Basic Java - 请用一种方法帮助一个压力很大的菜鸟?

string - MATLAB 是否提供了从 double 到 string 的无损覆盖函数?

c++ - 为什么语句 “cout << '\\\\';” 不会失败?

java - 使用 Java 和 TestNG 使用 WebDriver 在不同的操作系统和浏览器上同时执行测试

java - 以最大语言环境为开发人员定位的API的I18n/L10n

java - 我如何在这些 GUI 框架之间转换?

string - bash,从带有空格分隔符的文本文件中提取字符串

java - 在 SQL 查询中使用格式化字符串作为日期

C 复制带有两个指针的链表

c++ - 分析用户输入 C++