前提・実現したいこと
Javaでじゃんけんを作るシステムです。
条件としてHashMap<Integer,String>を使ってじゃんけんの要素を保持します。
発生している問題・エラーメッセージ
じゃんけんの要素を代入しようとしたらエラーが発生しました。
Basic8.java:20: エラー: <identifier>がありません map.put(1,"グー"); ^ Basic8.java:20: エラー: 型の開始が不正です map.put(1,"グー"); ^ Basic8.java:21: エラー: <identifier>がありません map.put(2,"チョキ"); ^ Basic8.java:21: エラー: 型の開始が不正です map.put(2,"チョキ"); ^ Basic8.java:22: エラー: <identifier>がありません map.put(3,"パー"); ^ Basic8.java:22: エラー: 型の開始が不正です map.put(3,"パー");
該当のソースコード
Java
1import java.io.BufferedReader; 2import java.io.InputStreamReader; 3import java.io.*; 4import java.util.HashMap; 5import java.util.Map; 6import java.util.*; 7 8 9class Basic8{ 10 public static void main(String[] args) { 11 Jyanken jyanken = new Jyanken(); 12 } 13} 14 15class Jyanken{ 16 InputStreamReader isr = new InputStreamReader(System.in); 17 BufferedReader br = new BufferedReader(isr); 18 HashMap<Integer,String> map = new HashMap<Integer,String>(); 19 20 map.put(1,"グー"); 21 map.put(2,"チョキ"); 22 map.put(3,"パー"); 23 24 int enemy; 25 int myhand; 26 public Jyanken(){ 27 this.input(); 28 } 29 30 public void input(){ 31 this.myhand = this.getInputNumber(); 32 this.enemy(); 33 this.enemyHand(enemy); 34 this.hantei(); 35 } 36 37 private int getInputNumber(){ 38 try{ 39 System.out.println("1:グー 2:チョキ 3:パー を入力してください"); 40 int number = Integer.parseInt(br.readLine()); 41 if(number > 3){ 42 throw new NumberFormatException(); 43 } 44 return number; 45 }catch(IOException | NumberFormatException e){ 46 System.out.println("不正な値が入力されました"); 47 } 48 return this.getInputNumber(); 49 } 50 51 public void hantei() { 52 int c = (myhand - enemy + 3) % 3; 53 if(c == 0){ 54 System.out.println("あいこでしょ"); 55 this.input(); 56 }else if(c == 2){ 57 System.out.println("勝ち"); 58 getInputNumber1(); 59 }else{ 60 System.out.println("負け"); 61 getInputNumber1(); 62 } 63 } 64 65 public int enemy(){ 66 Random random = new Random(); 67 this.enemy = random.nextInt(3); 68 return enemy; 69 } 70 71 public void enemyHand(int count){ 72 map.forEach((key) ->{ 73 if(key == count){ 74 return map.get(key); 75 } 76 }); 77 } 78 79 private int getInputNumber1(){ 80 try{ 81 System.out.println("1:もう一度 2:終了"); 82 int number = Integer.parseInt(br.readLine()); 83 if(number == 2){ 84 85 }else if(number == 1){ 86 input(); 87 }else{ 88 throw new NumberFormatException(); 89 } 90 91 return number; 92 }catch(IOException | NumberFormatException e){ 93 System.out.println("不正な値が入力されました"); 94 } 95 return this.getInputNumber(); 96 } 97}
試したこと
ネットを調べてHashMapの使い方、エラーメッセージを調べましたが、なぜputできないのかわかりませんでした。
初心者なりに手探りでコードを書いてガタガタですが、何かアドバイスを頂けると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/27 01:26