2016-12-28 9 views
-2

は、私は次のプログラムを持っている:単純なプログラムをJavaのHashMapに変換するにはどうすればよいですか?

public class PopularCharacter { 

    public static void main(String[] args) { 

     PopularCharacter popularCharacter = new PopularCharacter(); 
     char result = popularCharacter.charCounter("azzo"); 
     System.out.println("PopularChar " + result); 
    } 
    public char charCounter(String input) { 
     int maxIndex = 0; 
     int maxValue = 0; 
     int[] value = new int[26]; 

     for (int index = 0; index < input.length(); index++) { 
      value[input.charAt(index) - 97]++; 
     } 

     for (int index = 0; index < value.length; index++) { 
      if (value[index] > maxValue) { 
       maxValue = value[index]; 
       maxIndex = index; 
      } 
     } 

     return (char) (maxIndex + 97); 
    } 
} 

どのように私はHashMapので実装するためのコードを変更する必要がありますか? HashMapを使用するのは初めてのことですが、私は非常に混乱しています。私はあなたにコードの再構成を依頼します。

私はそれを実行しようとしましたが、私は価値がない知っている:

import java.util.*; 

public class MaxCharHM { 

    public static void main(String[] args) { 
     MaxCharHM popularchar = new MaxCharHM(); 
     char result = popularchar.charCounter("aabbaacdcldkaalkccccc"); 
     System.out.println("Popular char: " + result); 
    } 

    public HashMap <Character, Integer> buildMap (String input){ 

      HashMap value = new HashMap(); 
      for (int i = 0; i < input.length(); i++) { 
       value.put[input.charAt(i) - 97]++; 

     return (char) (something + 97) 

    etc etc 
      } 
    } 
} 

答えて

1

あなたが最初にあなたが存在したら、あなたが得るもののマップがあり、何/どのようにデータを保存しない...理解する必要がありますあなたの問題に答えてください。Map.put(key k、value v)の引数リストを見てください。

+0

@hlmAnShU:コード全体が壊れているのでしょうか?上記のコードサンプルで –

+0

を使用すると、インデックス値が26のリストが使用され、そのインデックスの値は文字の出現数でした。マップはキーのデータをインデックスにマップします。あなたの地図の中のキーと '入力'の文字を見つけるたびに、値を1だけ増やします。それはそのようにリストのロジックに非常に似ています。 – hImAnShU

+0

私の介入は、変換はHashMapメソッドでのみ、またはメインでも行われていました。 私は運動の解決策ではなく、ガイドラインを疑問視しました。 –

関連する問題