javaにてMapを使って名前と教科を入力すると点数が出力されるプログラムを組んでいます。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
public class test34 {
public static void main(String[] args) throws IOException {
Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("名前を入力してください"); String strx = br.readLine(); System.out.println("教科を入力してください"); String stry = br.readLine(); Map<String, String> treeMap = new HashMap<String, String>(); map.get(treeMap); // 田中 treeMap.put("国語", "100"); treeMap.put("英語", "80"); treeMap.put("理科", "50"); treeMap.put("社会", "30"); // 加藤 treeMap.put("国語", "30"); treeMap.put("英語", "40"); treeMap.put("理科", "70"); treeMap.put("社会", "90"); // 森田 treeMap.put("国語", "50"); treeMap.put("英語", "90"); treeMap.put("理科", "100"); treeMap.put("社会", "0"); // 北国 treeMap.put("国語", "0"); treeMap.put("英語", "10"); treeMap.put("理科", "70"); treeMap.put("社会", "30"); // treeMap map.put("田中", treeMap); map.put("加藤", treeMap); map.put("森田", treeMap); map.put("北国", treeMap); if (map.containsKey(strx)) { if (treeMap.containsKey(stry)) System.out.println(treeMap.get(stry)); } else { System.out.println("データがありません"); } }
}
‐出力イメージ‐
名前:田中
国語:100
エラーは出ていませんがこのままでは北国の点数のみ出力されます。どのように手を加えていけばよいかアドバイスいただけたらと思っています。
//追記
おそらくマップデータのところが違うと思っていますがどう書き換えればよいかが分かっていません。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/05/02 07:02
2016/05/02 07:13 編集
退会済みユーザー
2016/05/02 07:46
2016/05/02 08:05
退会済みユーザー
2016/05/02 08:19