Files
java-question/Question04-while/src/PTra04_05.java
2026-09-11 15:37:22 +09:00

71 lines
2.6 KiB
Java

/*
* PTra04_05.java
* 作成 Rhizome
*------------------------------------------------------------
* Copyright(c) Rhizome Inc. All Rights Reserved.
*/
import java.util.Random;
import java.util.Scanner;
public class PTra04_05 {
public static void main(String[] args) {
// 以下はじゃんけんを行うプログラムです。
// TODO TODOコメントの指示に従ってプログラムを完成させてください。
// 入力を要求するためのもの
Scanner scanner = new Scanner(System.in);
// 乱数生成処理
Random random = new Random();
// 勝敗の状態を覚えておくための変数(初期値は負けとする)
boolean winFlag = false;
// プレイヤーが勝つまでじゃんけんを繰り返す。
while(!winFlag) {
int playerHand;
int npcHand;
// プレイヤーに出す手を選ばせる
// ※ 数値でない入力は考慮していません(エラーになります)
System.out.println("じゃんけんを行います。");
System.out.println("あなたの出す手を入力してください");
System.out.println("0:グー, 1:チョキ, 2:パー");
playerHand = Integer.parseInt(scanner.nextLine());
// TODO 選ばれた手を出力して\ください(0なら"あなたはグーを出しました"等)
if(playerHand==0){
System.out.println("あなたはグーを出しました");
} else if (playerHand==1) {
System.out.println("あなたはチョキをだしました");
} else if (playerHand==2) {
System.out.println("あなたはパーを出しました");
} else {
System.out.println("正しい選択がされていません");
continue;
}
// 対戦相手の手をランダムに選択する。
npcHand = random.nextInt(3);
// TODO 対戦相手の手を出力してください(0なら"相手はグーを出しました"等)
if(npcHand==0){
System.out.println("相手はグーを出しました");
} else if (npcHand==1) {
System.out.println("相手はチョキをだしました");
} else if (npcHand==2) {
System.out.println("相手はパーを出しました");
}
// TODO じゃんけんの結果を出力し、プレイヤーが勝った場合はプログラムが終了するようにしてください。
if(playerHand==npcHand) {
System.out.println("あいこです");
} else if((playerHand==1 && npcHand==2)||(playerHand==2 && npcHand==0)||(playerHand==0 && npcHand==2)) {
System.out.println("あなたの勝ちです");
winFlag = true;
} else {
System.out.println("あなたの負けです");
}
}
// 次のじゃんけんの前に改行しておく
System.out.println();
}
}