2016-12-28 3 views
-3

たとえば、文字列「Nathan」があり、その文字列を個々の文字「N」「A」「T」「H」「A」「N」に分割し、その後に文字を対応する文字列。例えば、「N」の文字列Nと一致し、そのためには、あなたがchar配列に文字列を変換することによってこれを行うことができ値5「」値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

配列のインデックスと同じです。各charにintを明示的に代入する必要はありません。コードは、文字列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

ありがとう、ために。 –

関連する問題