現在、javaでRPGもどきを制作しています。
そのうえで難易度を入力したときにeasyなら…normalなら…などと条件分岐をさせたいと思い、以下のコードを作成しました。
java
1package horizon; 2import java.util.*; 3class horizonRPG { 4 public static void main(String[] args){ 5 GameConfig easy = new GameConfig("easy",1500,2800.5,500,100,1000); 6 GameConfig normal = new GameConfig("normal",1500,2800.5,300,100,800); 7 GameConfig hard = new GameConfig("hard",1500,2800.5,250,100,500); 8 Scanner scn = new Scanner(System.in); 9 Random rdm = new Random(); 10 System.out.println("難易度を書いてね"); 11 String inputDifficulty = scn.next(); 12 if(inputDifficulty=="easy"){ 13 double nowMoney=easy.getMoney(); 14 int earnmoney = rdm.nextInt(3000); 15 System.out.println("[System]"+earnmoney+"ギルを拾った!"); 16 easy.setMoney(nowMoney+earnmoney); 17 System.out.println("現在の所持ギル:"+easy.getMoney()); 18 easy.villagerSpeak(); 19 if(easy.getMoney()<easy.getSwordPrice()){ 20 System.out.println("…と思ったが、お前のような貧乏人が来るところではない。"); 21 GameConfig.gameOver(); 22 } 23 try{ 24 int buyFlag = scn.nextInt(2); 25 if(buyFlag==0){ 26 System.out.print("[System]盾を買った!防御力が上がった!"+easy.getDefense()+"→"); 27 easy.setDefense(easy.getDefense()+100); 28 System.out.println(easy.getDefense()); 29 easy.setMoney(easy.getMoney()-easy.getshieldPrice()); 30 } 31 else if(buyFlag==1){ 32 System.out.print("[System]剣を買った!攻撃力が上がった!"+easy.getStrength()+"→"); 33 easy.setStrength(easy.getStrength()+100); 34 System.out.println(easy.getStrength()); 35 easy.setMoney(easy.getMoney()-easy.getSwordPrice()); 36 } 37 } 38 catch(InputMismatchException e){ 39 System.out.println("買う気がないなら帰れ!"); 40 GameConfig.gameOver(); 41 } 42 } 43 else if(inputDifficulty=="normal"){ 44 double nowMoney=normal.getMoney(); 45 int earnmoney = rdm.nextInt(3000); 46 System.out.println("[System]"+earnmoney+"ギルを拾った!"); 47 normal.setMoney(nowMoney+earnmoney); 48 System.out.println("現在の所持ギル:"+normal.getMoney()); 49 normal.villagerSpeak(); 50 if(normal.getMoney()<normal.getSwordPrice()){ 51 System.out.println("…と思ったが、お前のような貧乏人が来るところではない。"); 52 GameConfig.gameOver(); 53 } 54 try{ 55 int buyFlag = scn.nextInt(2); 56 if(buyFlag==0){ 57 System.out.print("[System]盾を買った!防御力が上がった!"+normal.getDefense()+"→"); 58 normal.setDefense(normal.getDefense()+100); 59 System.out.println(normal.getDefense()); 60 normal.setMoney(normal.getMoney()-normal.getshieldPrice()); 61 } 62 else if(buyFlag==1){ 63 System.out.print("[System]剣を買った!攻撃力が上がった!"+normal.getStrength()+"→"); 64 normal.setStrength(normal.getStrength()+100); 65 System.out.println(normal.getStrength()); 66 normal.setMoney(normal.getMoney()-normal.getSwordPrice()); 67 } 68 } 69 catch(InputMismatchException e){ 70 System.out.println("買う気がないなら帰れ!"); 71 GameConfig.gameOver(); 72 } 73 }else if(inputDifficulty=="hard"){ 74 double nowMoney=hard.getMoney(); 75 int earnmoney = rdm.nextInt(3000); 76 System.out.println("[System]"+earnmoney+"ギルを拾った!"); 77 hard.setMoney(nowMoney+earnmoney); 78 System.out.println("現在の所持ギル:"+hard.getMoney()); 79 hard.villagerSpeak(); 80 if(hard.getMoney()<hard.getSwordPrice()){ 81 System.out.println("…と思ったが、お前のような貧乏人が来るところではない。"); 82 GameConfig.gameOver(); 83 } 84 try{ 85 int buyFlag = scn.nextInt(2); 86 if(buyFlag==0){ 87 System.out.print("[System]盾を買った!防御力が上がった!"+hard.getDefense()+"→"); 88 hard.setDefense(hard.getDefense()+100); 89 System.out.println(hard.getDefense()); 90 hard.setMoney(hard.getMoney()-hard.getshieldPrice()); 91 } 92 else if(buyFlag==1){ 93 System.out.print("[System]剣を買った!攻撃力が上がった!"+hard.getStrength()+"→"); 94 hard.setStrength(hard.getStrength()+100); 95 System.out.println(hard.getStrength()); 96 hard.setMoney(hard.getMoney()-hard.getSwordPrice()); 97 } 98 } 99 catch(InputMismatchException e){ 100 System.out.println("買う気がないなら帰れ!"); 101 GameConfig.gameOver(); 102 } 103 } 104 } 105}
上記コードの
java
1 String inputDifficulty = scn.next(); 2 if(inputDifficulty=="easy"){ 3 ・・・ 4 }
この条件文が動きません。なぜでしょうか…?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/05 06:02