果物の名前、生産地、味を入力してMapに格納するコードを書いています。その中で1度入力された果物名が再度入力されたときに情報を更新させるようにしたいです。
Java
1import java.util.HashMap; 2import java.util.Map; 3 4public class Main { 5 public static void main(String[] args) { 6 Map<String, Fruit> map = new HashMap<String, Fruit>(); 7 String name1 = ""; 8 for (int i = 0; i < 3; i++) { 9 System.out.println(); 10 String name = inputLine("果物"); 11 if (name.equals(name1)) { 12 String answer = inputLine(name + "の情報を上書きしますか。"); 13 if (answer.equals("yes")) { 14 15 } 16 } 17 System.out.println(); 18 String name = inputLine("果物"); 19 String city = inputLine("生産地"); 20 String taste = inputLine("味"); 21 name1 = name; 22 map.put(name, new fruit(name, city, taste)); 23 24 } 25 System.out.println("果物の情報を照会します"); 26 System.out.println(); 27 28 String key = ""; 29 while (!(key.equals("END"))) { 30 key = new java.util.Scanner(System.in).nextLine(); 31 if (map.containsKey(key)) { 32 System.out.println(map.get(key)); 33 } else if(key.equals("END")){ 34 System.out.println("プログラムを終了します"); 35 } else { 36 System.out.println(key + "の情報は登録されていません"); 37 } 38 } 39 } 40 41 public static String inputLine(String title) { 42 System.out.print(title); 43 return new java.util.Scanner(System.in).nextLine(); 44 } 45 46 public static double inputDouble(String title) { 47 System.out.print(title); 48 return new java.util.Scanner(System.in).nextDouble(); 49 } 50}
Java
1public class Fruit{ 2 private String name; 3 private String city; 4 private String taste; 5 6 public Prefecture(String name,String city,String taste) { 7 this.name =name; 8 this.city = city; 9 this.taste = taste 10 } 11 12 public String getName() { 13 return name; 14 } 15 16 public void setName(String name) { 17 this.name = name; 18 } 19 20 21 public String getCity() { 22 return city; 23 } 24 25 public void setCity(String city) { 26 this.city = city; 27 } 28 public String getTaste() { 29 return taste; 30 } 31 32 public void setTaste(String taste) { 33 this.taste = taste; 34 } 35 @Override 36 public String toString() { 37 return "果物 :" + this.getName() + "生産地 :" + this.getCity() +"味 :" + this.getTaste(); 38 } 39}