如何拆分字符串并为字符串的每个单独字符分配一个int值?
例如,我有一个字符串“Nathan”,我想将字符串拆分为单个字符“N”“A”“T”“H”“A”“N”,之后我还想将字符他们对应的字符串例如,“N”将与字符串N匹配,并为此分配值5,“A”的值1,...如何拆分字符串并为字符串的每个单独字符分配一个int值?
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";
可以通过将字符串转换成字符数组做到这一点。
String s = "NATHAN";
char[] c = s.toCharArray();
现在,数组中的单个字符将像每隔一个数组一样从0开始索引。如果您不确定,我只想演示以下内容:
System.out.println(c[2]); //this will print the character "T"
希望您了解它是如何工作的。
这是如何为每个char分配一个int? – Matt
我在回答问题后添加了代码,以澄清我问的问题。对于给您带来的不便,我深表歉意。 –
它与数组的索引相同。没有明确的将int分配给每个char。代码的作用是将字符串s转换为字符数组c。现在c和你在java中看到的所有其他数组一样。 –
当您必须将某些元素“分配给”某些其他元素时,地图是概念上最符合此要求的对象。
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)...}
谢谢,正是我在找什么对于。 –
您是要求我们提供完整的代码吗?还是你试图做到这一点,发现它很困难?如果是这样,请显示您尝试过的内容,以便我们提供帮助。 – ItamarG3