如何拆分字符串并为字符串的每个字符分配一个int值?

时间:2016-12-28 16:11:19

标签: java arrays string split

例如我有一个字符串“Nathan”,我想将字符串拆分为单个字符“N”“A”“T”“H”“A”“N”,之后我还要匹配字符到他们相应的字符串。例如,“N”将与字符串N匹配,因此赋值为5,“A”为值1,...

            String A = "1";  String J = "1" ; String S = "1";
            String B = "2";  String K = "2";  String T = "2";
            String C = "3";  String L = "3";  String U = "3";
            String D = "4";  String M = "4";  String V = "4";
            String E = "5";  String N = "5";  String W = "5";
            String F = "6";  String O = "6";  String X = "6";
            String G = "7";  String P = "7";  String Y = "7";
            String H = "8";  String Q = "8";  String Z = "8";
            String I = "9";  String R = "9";

            String firstname = "NATHAN";

2 个答案:

答案 0 :(得分:1)

您可以通过将String转换为char数组来完成此操作。

String s = "NATHAN";
char[] c = s.toCharArray();

现在,数组中的各个字符将像其他所有数组一样从0开始编制索引。如果您不确定,我只想展示以下内容,

System.out.println(c[2]); //this will print the character "T"

希望你能理解它是如何运作的。

答案 1 :(得分:1)

当您必须将某些元素“分配”给其他元素时,“地图”是概念上最符合此要求的对象。

Map<Character, Integer> mappedValues = new HashMap<Character, Integer>();
mappedValues.put('A', 1);
mappedValues.put('B', 2);
...//and so on

String nat = "NATHAN";
Map<Character, Integer> charToInt = new HashMap<Character, Integer>();
for(int i = 0; i < nat.length(); i++){
    charToInt.put(nat.charAt(i), mappedValues.get(nat.charAt(i)));
}
//{('N', 5), ('A', 1)...}