在android/java中,我们如何将单词拆分为字符。。??并为每个字符指定特定的id

在android/java中,我们如何将单词拆分为字符。。??并为每个字符指定特定的id,java,android,Java,Android,我想把这个词分成像ABCD这样的字符,然后再分成A.B.C.D.和A.B.C.D 如果我们假设A=1,B=2,。。。。。。Z=26,然后我想把这个序列分配给每个字符,并把它们相加,得到输出。 如何做到这一点…?我假设您已经维护了一个映射图,用于将字符映射到一些数字。然后,您可以简单地在空字符串上拆分字符串以获得单个字符。然后在数组上迭代以获得和 请注意,对空字符串进行拆分将得到一个空字符串作为数组中的第一个元素。因为,Java中的字符串在字符串的开头包含一个空字符串 因此,您可以尝试以下代码:-

我想把这个词分成像ABCD这样的字符,然后再分成A.B.C.D.和A.B.C.D 如果我们假设A=1,B=2,。。。。。。Z=26,然后我想把这个序列分配给每个字符,并把它们相加,得到输出。
如何做到这一点…?

我假设您已经维护了一个映射图,用于将字符映射到一些数字。然后,您可以简单地在空字符串上拆分字符串以获得单个字符。然后在数组上迭代以获得和

请注意,对空字符串进行拆分将得到一个空字符串作为数组中的第一个元素。因为,Java中的字符串在字符串的开头包含一个空字符串

因此,您可以尝试以下代码:-

    String str = "ABCDEF";
    String[] arr = str.split("");
    int sum = 0;

    Map<String, Integer> map = new HashMap<String, Integer>() {
        {
            put("A", 1); put("B", 2); put("C", 3);
            put("D", 4); put("E", 5); put("F", 6);
        }
    };

    System.out.println(Arrays.toString(arr));

    // Iteration starts from index 1, as 1st element is an empty string
    for (int i = 1; i < arr.length; i++) {
        sum += map.get(arr[i]);
    }

    System.out.println("Sum = " + sum);
或者,您也可以使用方法将字符串直接转换为具有单个字符的字符数组。在这种情况下,您的map声明应该是:-map

由于“A”的ASCII码是65,这将为A加上+1,为B加上+2,依此类推

您必须处理大写和小写,例如,对于小写减法96。

请尝试以下代码:

String data = "ABCD";

        int sum=0;
        String dataToProcess = data.toLowerCase();
        for(int i=0;i<dataToProcess.length();i++){
            char c = dataToProcess.charAt(i);

            sum += c - 96;
        }

        System.out.println("sum is "+sum);

请帮帮我。。!!!提前谢谢……你试过什么了?如果你的最终目标是为每个字符分配数字并求和,那么你为什么要拆分和合并它们呢?我想这个问题与字符串操作有关,而不是java/android特定的。是的,这正是我想要的。为每个字符分配数字并求和
String str = "ABCDEF";
Map<Character, Integer> map = new HashMap<Character, Integer>() {
        {
            put('A', 1); put('B', 2); put('C', 3);
            put('D', 4); put('E', 5); put('F', 6);
        }
};
for (char ch: str.toCharArray()) {
    sum += map.get(ch);
}
int sum = 0;
for (char ch: theWordToCount.toCharArray()) {
     sum += ((int)ch) - 64;
}
String data = "ABCD";

        int sum=0;
        String dataToProcess = data.toLowerCase();
        for(int i=0;i<dataToProcess.length();i++){
            char c = dataToProcess.charAt(i);

            sum += c - 96;
        }

        System.out.println("sum is "+sum);