-2

私は配列について学んでおり、プログラムに単語を数えさせたいと思っていました。与えられた:String myWords = {"soon; hi; also; soon; job; also"}; のようなメソッドを作成するcountWrods(myWords); 必要があります。出力される結果は、アルファベット順に印刷された単語、一意の単語の数、および単語の総数です。ここに私のコードがあります:

public class Words {
    public static  void main(String[] args){    
        String[] myWords = {"soon; hi; also; soon; job; mother; job; also; soon; later"};
        Words myW= new Words();
        myW.countWords();
        System.out.println("\tWords   \tFreq");
    }
    public  static String[] countWords(myWords){
        for (int i=0; i<myWords.length; i++){
        String temp = myWords[i];
        //System.out.println(temp + " ");
        for(int j=i+1; j<myWords.length; j++){
        String temp2= myWords[j];

            System.out.println("No. of unique words: " );
        }
        }
    }
}

次に何をすべきですか?

4

4 に答える 4

0

splittrim、およびHashSetをご覧になることをお勧めします。

于 2013-02-18T12:19:14.540 に答える
0

string 内の単語を数えたいと仮定しています。

文字列:"soon hi also soon job mother job also soon later"

 public class Words {

Map<String , Integer> dictionary=new HashMap<String,Integer>();

public static void main(String[] args) {
    String myWords = "soon hi also soon job mother job also soon later";
    Words myW = new Words();
    String[] array=myWords.split("\\s+");
    myW.countWords(array);
    System.out.println(myW.dictionary);
}

private void countWords(String[] myWords) {

    for(String s:myWords){

        if(dictionary.containsKey(s))
            dictionary.put(s, dictionary.get(s)+1);
        else
            dictionary.put(s, 1);
    }
}
}

O/P : {mother=1, later=1, job=2, hi=1, also=2, soon=3}

于 2013-02-18T12:32:32.417 に答える