前提・実現したいこと
Javaを勉強していて、コレクションフレームワークのところで出てきた、拡張for文の扱いに困っています。
拡張for文を使っている行でエラーが起きてしまいます。
どこが間違っているか教えてほしいです。
発生している問題・エラーメッセージ
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
shopMap を型に解決できません
構文エラーがあります。">" を挿入して ReferenceType1 を完了してください
トークン "Integer" に構文エラーがあります。このトークンの後には ; を指定する必要があります
演算子 > は引数の型 java.util.LinkedHashMap<java.lang.String,java.lang.Integer>, java.util.LinkedHashMap<java.lang.String,java.lang.Integer> で未定義です
トークン ":" に構文エラーがあります。( が無効です
構文エラーがあります。"; ) Statement" を挿入して ForStatement を完了してください
S を変数に解決できません
該当のソースコード
Java
1package study; 2 3import java.util.ArrayList; 4import java.util.LinkedHashMap; 5import java.util.List; 6 7public class Study { 8 9 public static final String SHOP_SHOHIN_00 = "バナナ"; 10 public static final String SHOP_SHOHIN_01 = "牛乳"; 11 public static final String SHOP_SHOHIN_02 = "豚肉"; 12 public static final String SHOP_SHOHIN_03 = "コロッケ"; 13 14 public static void main(String args[]) { 15 16 。 17 List<String> shohinList = new ArrayList<String>(){ 18 { 19 shohinList.add(SHOP_SHOHIN_00); 20 shohinList.add(SHOP_SHOHIN_01); 21 shohinList.add(SHOP_SHOHIN_02); 22 shohinList.add(SHOP_SHOHIN_03); 23 } 24 }; 25 26 27 28 29 LinkedHashMap<String, Integer> shopMap = new LinkedHashMap<String, Integer>(); 30 shopMap.put(shohinList.get(0), 125); 31 shopMap.put(shohinList.get(1), 180); 32 shopMap.put(shohinList.get(2), 350); 33 shopMap.put(shohinList.get(3), 100); 34 35 36 for(shopMap<String S,Integer shopMap>: shopMap){ 37 38 System.out.println(S=shopMap+"円になります"); 39 } 40 41 42 } 43} 44
補足情報(FW/ツールのバージョンなど)
実行結果は
バナナ=125円になります
牛乳=180円になります
豚肉=350円になります
コロッケ=100円になります
となります。