2016-10-19 6 views
0

これは私が思いついたものですが、エラーです。文字列(Java)の文字数をカウントしようとしましたが、解決策が機能しません。

import java.util.HashMap; 

public class CharacterCounter { 

public static boolean validateWord(String word) { 
    Map<String, Integer> counts = new HashMap<String, Integer>(); 

    for (String chararter : word) { 
    Integer count = counts.get(chararter); 
    if (count == null) { 
     counts.put(chararter, 1); 
    } else { 
     counts.put(chararter, count + 1); 
    } 
} 
} 
} 

エラー:

Map counts = new HashMap(); 
^ 
symbol: class Map 
location: class CharacterCounter 
/CharacterCounter.java:8: error: for-each not applicable to expression type 

私は、Javaには本当に新しいですので、私はおそらく何が起こっているか見当がつかない。..

+0

何をしようとしていますか? –

+0

'word.toCharArray()'は、あなたが繰り返し処理できる 'char'配列を与えます。 –

+0

矢印がマップを指していない、それは文字列を指しています。あなたはそれぞれの文字列に対してfor eachを使うことはできません。 –

答えて

0

あなたは文字配列

に文字列を変換する必要があります
for (char ch: word.toCharArray()) { 
    //do stuff 
} 
0

toCharArray()文字列をcharArrayに変換する方法を使用してください。

はこれを試してみてください:

String string = "Today is Wednesday"; 
Map<Character, Integer> characterCounts = new HashMap<Character, Integer>(); 
for (char character : string.toCharArray()) { 
    Integer characterCount = characterCounts.get(character); 
    if (characterCount == null) { 
     characterCount = 0; 
    } 
    characterCounts.put(character, characterCount + 1); 
} 
0

あなただけの文字列の文字数をカウントしようとしていますか?

なぜString.length()

String test = "test"; 
int count = test.length(); 
0

を使用していないことは、誰もがこれをoverthinkingされるように思えます。

public class CountCharsInString { 

    public static void main(String[] args) { 

     String string = "Hello, please count the number of characters in this string."; 

     System.out.println(string.length()); 
    } 

} 
+0

文字の合計数を数えますが、それぞれの文字の数はカウントしません。 –

関連する問題