question4です。

This commit is contained in:
2026-09-11 15:41:51 +09:00
parent bf23fdd74d
commit ee48779361
5 changed files with 66 additions and 16 deletions

View File

@@ -1,3 +1,4 @@
/* /*
* PTra04_01.java * PTra04_01.java
* 作成 Rhizome * 作成 Rhizome
@@ -15,11 +16,14 @@ public class PTra04_01 {
// 以下のwhile文は0~9のランダムな値をコンソールに出力する処理を無限に繰り返します。 // 以下のwhile文は0~9のランダムな値をコンソールに出力する処理を無限に繰り返します。
// TODO while文の条件を修正して5が出力されたら繰り返しを止めるようにしてください。 // TODO while文の条件を修正して5が出力されたら繰り返しを止めるようにしてください。
while(true) { while (true) {
// 0~9のランダムな値を生成 // 0~9のランダムな値を生成
randomNumber = random.nextInt(10); randomNumber = random.nextInt(10);
// 生成した値をコンソールに出力 // 生成した値をコンソールに出力
System.out.println(randomNumber); System.out.println(randomNumber);
if (randomNumber == 5) {
return;
}
} }
} }

View File

@@ -15,6 +15,10 @@ public class PTra04_02 {
* 繰り返しの中でnumを2倍した数値をnumに代入してください。 * 繰り返しの中でnumを2倍した数値をnumに代入してください。
* ※ 繰り返しにはwhile文を用いてください * ※ 繰り返しにはwhile文を用いてください
*/ */
while (num <= 1000) {
System.out.println(num);
num = num * 2;
}
System.out.println(num);
} }
} }

View File

@@ -1,3 +1,4 @@
/* /*
* PTra04_03.java * PTra04_03.java
* 作成 Rhizome * 作成 Rhizome
@@ -16,12 +17,14 @@ public class PTra04_03 {
// 以下のwhile文は0~9のランダムな値をコンソールに出力する処理を無限に繰り返します。 // 以下のwhile文は0~9のランダムな値をコンソールに出力する処理を無限に繰り返します。
// TODO 5が出力されたら繰り返しを止めるようにしてください。 // TODO 5が出力されたら繰り返しを止めるようにしてください。
// ※ while文の条件は変更せずにbreak文を使ってください。 // ※ while文の条件は変更せずにbreak文を使ってください。
while(true) { while (true) {
// 0~9のランダムな値を生成 // 0~9のランダムな値を生成
randomNumber = random.nextInt(10); randomNumber = random.nextInt(10);
// 生成した値をコンソールに出力 // 生成した値をコンソールに出力
System.out.println(randomNumber); System.out.println(randomNumber);
if (randomNumber == 5) {
break;
}
} }
} }
} }

View File

@@ -1,3 +1,4 @@
/* /*
* PTra04_04.java * PTra04_04.java
* 作成 Rhizome * 作成 Rhizome
@@ -18,13 +19,13 @@ public class PTra04_04 {
Random random = new Random(); Random random = new Random();
// TODO 双六の総コマ数としてint型の変数mapを宣言し、50を代入してください。 // TODO 双六の総コマ数としてint型の変数mapを宣言し、50を代入してください。
int map = 50;
// TODO 現在までの進んだコマ数としてint型の変数progressを宣言し、0を代入してください。 // TODO 現在までの進んだコマ数としてint型の変数progressを宣言し、0を代入してください。
int progress = 0;
System.out.println("===== START ====="); System.out.println("===== START =====");
// TODO 変数mapとprogressを用いて、ゴールするまで繰り返すようにwhile文の条件を記述してください。 // TODO 変数mapとprogressを用いて、ゴールするまで繰り返すようにwhile文の条件を記述してください。
while() { while (progress <= map) {
// 入力を促すメッセージを出力し、エンターキーが押されるのを待ちます。 // 入力を促すメッセージを出力し、エンターキーが押されるのを待ちます。
System.out.println("Enterキーを押してください。さいころをふります。"); System.out.println("Enterキーを押してください。さいころをふります。");
scanner.nextLine(); scanner.nextLine();
@@ -34,14 +35,18 @@ public class PTra04_04 {
// TODO 変数diceを用いて、"#の目が出ました。"というメッセージを出力してください。 // TODO 変数diceを用いて、"#の目が出ました。"というメッセージを出力してください。
// ※ #には変数diceの値が入ります。 // ※ #には変数diceの値が入ります。
System.out.println(dice + "の目が出ました");
// TODO 変数progressに変数diceの値を加算してください。 // TODO 変数progressに変数diceの値を加算してください。
progress = progress + dice;
// TODO まだゴールしていない場合は"残りのマスは#マスです。"というメッセージを出力してください。 // TODO まだゴールしていない場合は"残りのマスは#マスです。"というメッセージを出力してください。
// ※ #には双六の残りのマス数が入ります。 // ※ #には双六の残りのマス数が入ります。
int rest = map - progress;
if (progress <= map) {
System.out.println("残りのマスは" + rest + "マスです");
}
} }
System.out.println("===== GOAL ====="); System.out.println("===== GOAL =====");
} }
} }

View File

@@ -1,3 +1,4 @@
/* /*
* PTra04_05.java * PTra04_05.java
* 作成 Rhizome * 作成 Rhizome
@@ -21,7 +22,7 @@ public class PTra04_05 {
boolean winFlag = false; boolean winFlag = false;
// プレイヤーが勝つまでじゃんけんを繰り返す。 // プレイヤーが勝つまでじゃんけんを繰り返す。
while(!winFlag) { while (!winFlag) {
int playerHand; int playerHand;
int npcHand; int npcHand;
@@ -32,14 +33,47 @@ public class PTra04_05 {
System.out.println("0:グー, 1:チョキ, 2:パー"); System.out.println("0:グー, 1:チョキ, 2:パー");
playerHand = Integer.parseInt(scanner.nextLine()); playerHand = Integer.parseInt(scanner.nextLine());
// TODO 選ばれた手を出力してください(0なら"あなたはグーを出しました"等) // TODO 選ばれた手を出力してください(0なら"あなたはグーを出しました"等)
if (playerHand == 0) {
System.out.println("あなたはグーを出しました");
} else if (playerHand == 1) {
System.out.println("あなたはチョキを出しました");
} else if (playerHand == 2) {
System.out.println("あなたはパーを出しました");
}
// 対戦相手の手をランダムに選択する。 // 対戦相手の手をランダムに選択する。
npcHand = random.nextInt(3); npcHand = random.nextInt(3);
// TODO 対戦相手の手を出力してください(0なら"相手はグーを出しました"等) // TODO 対戦相手の手を出力してください(0なら"相手はグーを出しました"等)
if (npcHand == 0) {
System.out.println("相手はグーを出しました");
} else if (npcHand == 1) {
System.out.println("相手はチョキを出しました");
} else if (npcHand == 2) {
System.out.println("相手はパーを出しました");
}
// TODO じゃんけんの結果を出力し、プレイヤーが勝った場合はプログラムが終了するようにしてください。 // TODO じゃんけんの結果を出力し、プレイヤーが勝った場合はプログラムが終了するようにしてください。
if (playerHand == 0 && npcHand == 1) {
System.out.println("あなたの勝ちです!");
return;
} else if (playerHand == 0 && npcHand == 0) {
System.out.println("あいこです。もう一度チャレンジ!");
} else if (playerHand == 0 && npcHand == 2) {
System.out.println("負けちゃいました…。もう一度チャレンジ!");
} else if (playerHand == 1 && npcHand == 1) {
System.out.println("あいこです。もう一度チャレンジ!");
} else if (playerHand == 1 && npcHand == 0) {
System.out.println("負けちゃいました…。もう一度チャレンジ!");
} else if (playerHand == 1 && npcHand == 2) {
System.out.println("あなたの勝ちです!");
return;
} else if (playerHand == 2 && npcHand == 0) {
System.out.println("あなたの勝ちです!");
return;
} else if (playerHand == 2 && npcHand == 1) {
System.out.println("負けちゃいました…。もう一度チャレンジ!");
} else if (playerHand == 2 && npcHand == 2) {
System.out.println("あいこです。もう一度チャレンジ!");
}
// 次のじゃんけんの前に改行しておく // 次のじゃんけんの前に改行しておく
System.out.println(); System.out.println();
} }