[ad_1]
子供の頃のゲーム「ジャンケン」を覚えていますか? 2人でじゃんけん、じゃんけんのいずれかを同時に選ぶゲームです。 ジャンケンはハサミに勝って紙に負け、紙はジャンクに勝ってハサミに負け、ハサミは紙に勝ってジャンクに負ける。 次のコードは、プレーヤー 1 とプレーヤー 2 にそれぞれ、じゃんけんのいずれかの文字列を入力するように求めます。 ネストされた if ステートメントを追加してコードを完成させ、「プレイヤー 1 が勝つ」、「プレイヤー 2 が勝つ」、または「引き分け」を適切に報告します。
これまでのところ、私が持っているのはこれだけです。この時点以降は無知です…文字列が等しくない場合、どうすれば比較できますか??
import java.util.Scanner; public class RockPaperScissors { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Player 1: Choose rock, scissors, or paper:";); String player1 = scan.next().toLowerCase(); System.out.println("Player 2: Choose rock, scissors, or paper:"); String player2 = scan.next().toLowerCase(); if (player1.equals(player2)) { System.out.print("It is a tie"); } ..... } }
解決策 1
より良いアプローチは、オプションを整数として扱うことだと思います。比較が簡単です。
私はこのようなことをします:
final static int ROCK = 1, SCISSOR = 2, PAPER = 3; public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Player 1: Choose (1) - Rock, (2) - Scissors, or (3) - Paper: "); int player1 = scan.nextInt(); System.out.println("Player 2: Choose (1) - Rock, (2) - Scissors, or (3) - Paper: "); int player2 = scan.nextInt(); if (player1 == player2) { System.out.print("It is a tie"); } else { switch (player1){ case ROCK: if (player2 == SCISSOR) System.out.print("Player 1 wins!"); else System.out.print("Player 2 wins!"); break; case SCISSOR: if (player2 == PAPER) System.out.print("Player 1 wins!"); else System.out.print("Player 2 wins!"); break; case PAPER: if (player2 == ROCK) System.out.print("Player 1 wins!"); else System.out.print("Player 2 wins!"); break; } } }
解決策 16
java.util.Scanner をインポートします。
// Gaurav Mishra による解決策
パブリック クラス p5 {
public static void main(文字列[] 引数) {
System.out.println(“Rock(1) Paper(2) Siccoros(3”);
Scanner sc=new Scanner(System.in);
System.out.println(“プレイヤー 1 の値を選択”);
int player1=sc.nextInt();
System.out.println(“プレイヤー 1 の値を選択”);
int player2=sc.nextInt();
もし(プレイヤー1==1){
System.out.println(“Player1 choose=ロック”);
}else if(player1==2){
System.out.println(“Player1 choose=Paper”);
}else if(player1==3){
System.out.println(“Player1 choose=Siccoros”);
}それ以外{
System.out.println(“1 ~ 3 の値を選択してください”);
}
if(player2==1){
System.out.println(“Player2 choose=ロック”);
}else if(player2==2){
System.out.println(“Player2 choose=Paper”);
}else if(player2==3){
System.out.println(“Player2 choose=Siccoros”);
}それ以外{
System.out.println(“1 ~ 3 の値を選択してください”);
}
スイッチ (プレイヤー1) {
ケース 1:
もし(プレイヤー2==2){
System.out.println(“Player2 の勝利”);
}それ以外{
System.out.println(“Player1 の勝利”);
}
壊す;
ケース 2:
もし(プレイヤー2==3){
System.out.println(“Player2 の勝利”);
}それ以外{
System.out.println(“Player1 の勝利”);
}
壊す;
ケース 3:
if(player2==1){
System.out.println(“Player2 の勝利”);
}それ以外{
System.out.println(“Player1 の勝利”);
}
壊す;
デフォルト:
System.out.println(“次回試してみる”);
壊す;
}
}
}
解決策 17
import java.util.Scanner; public class rockpaperscissor { public static void main(String[] args) { int rock=1 , paper=2, scissor=3; System.out.println("let us play rock , paper and scissor"); Scanner sc = new Scanner(System.in); System.out.println("Select a number from 1 to 3"); int Player1 = sc.nextInt(); System.out.println("Select a number from 1 to 3"); int Player2 = sc.nextInt(); if (Player1==Player2) { System.out.println("It is a tie"); } else if (Player1==1 && Player2==2) { System.out.println("Player 2 wins"); } else if (Player1==2 && Player2==1) { System.out.println("Player 2 wins"); } else if (Player1==1 && Player2==3) { System.out.println("Player 1 wins"); } else if (Player1==3 && Player2==1) { System.out.println("Player 2 wins"); } else if (Player1==3 && Player2==2) { System.out.println("Player 1 wins"); } else if (Player1==2 && Player2==3) { System.out.println("Player 2 wins"); } else{ System.out.println("you have not chosen the correct numbers between 1 to 3"); } } }
[ad_2]
コメント