2016-10-17 5 views
0

私はいくつかの助けが必要です。私はJavaで地図を扱う方法を今日学んでいます。今日はキーを介してハッシュマップから値の減算を取得しようとしていましたが、 。キーでHashMapsのJava減算値

これらは、減算したいマップ値です(キーによる値の間の算術減算)。以下で

HashMap<Integer,String> map = new HashMap<Integer,String>(); 
map.put(1, "10"); 
map.put(2, "5"); 

私はあなたが最初の整数にそれらの文字列を解析する必要があります

(key1) - (key2) = 5 
+3

あなたが値に対する演算を行いたい場合は、なぜあなたは文字列としてそれらを格納していますか? –

+0

okこれを修正します – Achin

+1

'Map 'を使用する必要があります。その後、問題は消えます。 – EJP

答えて

4

のようなキーで減算します。これは、算術演算を実行できない値をStringとして保存しているためです。

Integer.parseInt(map.get(1)) - Integer.parseInt(map.get(2)) 

代わりに、値をこのような整数として格納することができます。

HashMap<Integer,Integer> map = new HashMap<Integer,Integer>(); 
map.put(1, 10); 
map.put(2, 5); 

とあなたが最初の整数に文字列を解析し、それを減算する必要があります。

map.get(1) - map.get(2) 
+0

@Henry、私はそれを実現しました:)それによって訂正が行われました。 –

0

の下に行います。

それは次のようになります: -

int result = Integer.parseInt(map.get(1)) - Integer.parseInt(map.get(2))