0

可能であればコードを実行してください

入力: "うわー"
出力: w:2 o:5 o:5 o:5 o:5 o:5 w:2

結果を次のようにしたい: w:2 o:5

それを実現するためにいくつかのifsとループを試しましたが、できません構文はありますか? または何でも

import java.util.Scanner;

public class test {
    public static void main( String[] args ){

        String sWord= new String();
        int nCtr,nCtr2,nTemp=0,n,n1=0,n2=0,n3=0;
        char cTemp=' ',cTemp2=' ';      
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a Word");
        sWord = input.nextLine();
        n = sWord.length();
        char[] cArray = new char[n];
        cArray = sWord.toCharArray();

        for(int ctr=cArray.length;ctr>0;ctr--){
            for(nCtr=0;nCtr<cArray.length;nCtr++){
                if(cArray[nCtr]==sWord.charAt(n1)){     
                    nTemp++;
                }
            }//for


            cTemp = cArray[n2];


            for(nCtr2=0;nCtr2<n;nCtr2++){
                if(sWord.charAt(nCtr2)=='$'){       
                    n3++;
                } 
            }//for

            System.out.println("# of occurence of " + cTemp + " is " + nTemp);

            n1++;
            n2++;   
            nTemp=0;
        }//for minus        


    }//

}//class
4

3 に答える 3

0

このようなものを試すことができます

            string str = "wooooow";
            Dictionary<char, int> table = new Dictionary<char, int>();
            foreach (char ch in str.ToCharArray())
            {
                int count = 0;
                if (table.TryGetValue(ch, out count))
                {
                    table[ch] = count + 1;
                }
                else
                {
                    table.Add(ch, 1);
                }
            }

            foreach (var item in table)
            {
                Console.Write(item.Key + ":" + item.Value+"  ");
            }
于 2015-10-01T11:59:53.173 に答える