java初心者です初めての課題として javaで基礎的なじゃんけんのゲームを作っています。 ですがグー、チョキ、パーのいずれを入力してもあいこになってしまいます。 それと別問題かもしれませんがインスタンスの生成時にstaticとうたないとエラーが出るので仕方なく打っているのですがそこについてもお聞きしたいです。 ここに質問の内容を詳しく書いてください。 (例)PHP(CakePHP)で●●なシステムを作っています。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ 必ずあいこになる
JAVA
1package myfirstone; 2import java.util.Random; 3import java.util.Scanner; 4 5public class Myfirstclass { 6 7 public static void main(String[] args) { 8 Scanner scanner = new Scanner(System.in); 9 10 System.out.println("グー、チョキ、パーのいずれかを入力してください"); 11 String pon = scanner.nextLine(); 12 scanner.close(); 13 System.out.println("あなたは" + pon + "を出しました。"); 14 System.out.println("-----------------------"); 15 Random rand = new Random(); 16 int teki = rand.nextInt(3); 17 switch (teki) { 18 case 0: 19 System.out.println("相手はグーを出しました"); 20 break; 21 case 1: 22 System.out.println("相手はチョキを出しました"); 23 break; 24 case 2: 25 System.out.println("相手はパーを出しました"); 26 break; 27 } 28 System.out.println("-----------------------"); 29 paa.janken(teki); 30 31 } 32 33}
```JAVA package myfirstone; public class paa { public static String pon; public static int teki; public static void janken(int teki) { if(pon=="グー" && teki==1 ||pon=="チョキ" && teki==2 || pon=="パー" && teki==0) { System.out.println("あなたの勝ちです"); } else if(pon=="グー" && teki==2|| pon=="チョキ" && teki==0||pon=="パー" && teki==1) { System.out.println("あなたの負けです"); } else { System.out.println("あいこです"); } } }
試したこと
入力をグー、チョキ、パーではなく数字に変えるとできたが、グー、チョキ、パーの入力で行いたい。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
java 文字列 比較
とかで調べてみてはいかがでしょうか。
この課題の目的はなんでしょうか。
1. オブジェクト指向を理解するため
2. 単純にif文とかの理解のため
普通に考えると2だとは思いますが、1の可能性も捨てきれませんね。
単純に組めば2ですけど、1の場合は理解していないと出来ないし。
> 入力をグー、チョキ、パーではなく数字に変えるとできたが
恐らく、"あなた"は常にグーを出したと見なされて勝った負けたと出されていたのでは。
@1T2R3M4
どのように調べてよいかわからなかったのでありがとうございます。
@BeatStar
この課題の目的はJAVAの基本的な文法を学んだあとに何を創ればいいのか分からずとりあえずわかりやすいじゃんけんをつくって知識をおさらいしつつどのように作るのか体験する目的です。
@jimbe
敵がパーの時もチョキの時もあいこになってしまうので常にグーというわけではないかもしれません。
後、コードは"<code>"または"<コード>"のボタンがあるので、それを押して出てくるヤツの中に書いてください。
> 敵がパーの時もチョキの時もあいこになってしまうので
すいません、現在の文字列にした場合のことではありませんで、
「入力を ~ 数字に変えると『できた』」
風に見えたのは、paa.pon が 0 なので勝敗が判定されていたからでは・・・という想像でした。
コードを書いて、コンパイルして実行して要望通り動いた・動かない、ではなく、1行1行理解して追ってみましたか?
後、コードは"<code>"または"<コード>"のボタンがあるので、それを押して出てくるヤツの中に書いてください。 (二度目)
@jimbe そういうことでしたか、なるほど。
@dodox86
JAVAについての経験が浅く一行一行追って理解することすら厳しいですが何とかわからないところを紐解きつつやってみます。ありがとうございます。
@BeatStar
すみません投稿の仕方間違っていたみたいですね多分直せたと思いますありがとうございます。
回答5件
あなたの回答
tips
プレビュー