STEP: 57 連想配列(辞書)を使う
問題
解答
step57java
public class Main {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("Kyoko", "B");
map.put("Rio", "O");
map.put("Tsubame", "AB");
map.put("KurodaSensei", "A");
map.put("NekoSensei", "A");
System.out.println("Kyoko" + " " + map.get("Kyoko"));
System.out.println("Rio" + " " + map.get("Rio"));
System.out.println("Tsubame" + " " + map.get("Tsubame"));
System.out.println("KurodaSensei" + " " + map.get("KurodaSensei"));
System.out.println("NekoSensei" + " " + map.get("NekoSensei"));
}
}
ださい・・・
LinkedHashMapを次から使おう。。。
結果
STEP: 58 ユーザーの血液型のデータ処理
問題
解答
step58.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 行を送る
sc.nextLine();
LinkedHashMap<String, String> map = createAssociativeArray(n, sc);
for (Map.Entry<String, String> entry : map.entrySet()){
String user = entry.getKey();
String blood = entry.getValue();
System.out.println(user + " " + blood);
}
sc.close();
}
/**
* userとbloodの辞書配列を作成する関数
*
* @param sc userとbloodの標準入力
* @param n 行数
*
* @return 辞書配列
* */
public static LinkedHashMap createAssociativeArray(int n, Scanner sc){
LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
for(int i = 0; i < n; i++){
String user = sc.next();
String blood = sc.next();
map.put(user, blood);
}
return map;
}
}
結果
STEP: 59 1人の血液型
問題
解答
step59.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String user = sc.nextLine();
int n = sc.nextInt();
// 改行
sc.nextLine();
Map<String, String> map = createMap(n, sc);
System.out.println(user + " " + map.get(user));
}
/**
* userとbloodの辞書配列を作成
*
* @param n 行数
* @param sc userとbloodの標準入力
*
* @return 辞書配列
**/
public static Map createMap(int n, Scanner sc){
Map<String, String> map = new HashMap<String, String>();
for(int i = 0; i < n; i++){
map.put(sc.next(), sc.next());
}
return map;
}
}
結果
STEP: 60 1つの血液型を占う
問題
解答
step60.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String blood = sc.nextLine();
int n = sc.nextInt();
// 改行
sc.nextLine();
Map<String,String> map = createMap(n, sc);
System.out.println(map.get(blood));
}
/**
* 血液と占い結果のMapを作成
*
* @param n 行数
* @param 血液と占い結果の標準入力
*
* @return 血液と占い結果のMap
* */
public static Map<String, String> createMap(int n, Scanner sc){
Map<String, String> map = new HashMap<String, String>();
for(int i = 0; i < n; i++){
map.put(sc.next(), sc.next());
}
return map;
}
}
結果
STEP: 61 1人の占い結果
問題
解答
step61.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
int n = sc.nextInt();
// 改行
sc.nextLine();
// ユーザー
Map<String, String> user = createMap(n, sc);
// 改行
sc.nextLine();
n = sc.nextInt();
// 改行
sc.nextLine();
// 占い
Map<String, String> divination = createMap(n, sc);
String value = user.get(name);
System.out.println(divination.get(value));
}
/**
* mapの作成
*
* @param n 行数
* @param 標準入力
*
* @return map
* */
public static Map createMap(int n, Scanner sc){
Map<String, String> map = new HashMap<String, String>();
for(int i = 0; i < n; i++){
map.put(sc.next(), sc.next());
}
return map;
}
}
結果
FINAL問題 占い
問題
解答
final.java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 改行
sc.nextLine();
LinkedHashMap<String, String> user = createMap(n, sc);
// 改行
sc.nextLine();
n = sc.nextInt();
// 改行
sc.nextLine();
LinkedHashMap<String, String> divination = createMap(n, sc);
for(Map.Entry<String, String> entry : user.entrySet()){
System.out.println(entry.getKey() + " " + divination.get(entry.getValue()));
}
sc.close();
}
/**
* Map作成する関数
*
* @param 行数
* @param 標準入力
*
* @return map
*/
public static LinkedHashMap<String, String> createMap(int n, Scanner sc){
LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
for(int i = 0; i < n; i++){
map.put(sc.next(), sc.next());
}
return map;
}
}