2016-12-28 71 views
-3

例如,我有一个字符串“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"; 
+0

您是要求我们提供完整的代码吗?还是你试图做到这一点,发现它很困难?如果是这样,请显示您尝试过的内容,以便我们提供帮助。 – ItamarG3

回答

1

可以通过将字符串转换成字符数组做到这一点。

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

现在,数组中的单个字符将像每隔一个数组一样从0开始索引。如果您不确定,我只想演示以下内容:

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

希望您了解它是如何工作的。

+0

这是如何为每个char分配一个int? – Matt

+0

我在回答问题后添加了代码,以澄清我问的问题。对于给您带来的不便,我深表歉意。 –

+0

它与数组的索引相同。没有明确的将int分配给每个char。代码的作用是将字符串s转换为字符数组c。现在c和你在java中看到的所有其他数组一样。 –

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)...} 
+0

谢谢,正是我在找什么对于。 –

相关问题