0
我正在創建一個類似於紙剪刀石的代碼。Paper Scissors Rock not working
我建立了一個隨機數生成器,其允許計算機隨機生成1-5之間的數字,每個數字代表一個不同的字符(猴,機器人,海盜,忍者殭屍)
用戶被要求輸入一個介於1-5之間的數字,代碼用於比較用戶輸入和隨機生成的數字,並通知獲勝的用戶。
for ex。 1(猴子)跳動4(忍者);所以如果用戶選擇1,並且計算機隨機生成4,那麼「你贏了,猴子騙了忍者!」應該顯示。
由於某些原因,我的代碼只在我輸入1時顯示「Tie」,而對於我輸入的任何其他值,「您贏了,猴子拔出機器人」。
看來,隨機數發生器不能正常工作。
有人可以幫我解決這個問題嗎?
import java.util.Scanner;
import java.util.Random;
public class OkekpeJMoropinzee
{
public static void main(String[]args)
{
String playAgain;
do{
int yourMove;
String compMove;
int compInt;
//String[] characters = {"Monkey","Robot","Pirate","Ninja","Zombie"};
Scanner input = new Scanner(System.in);
Random rand = new Random(6);
compInt = rand.nextInt(5)+1;
if (compInt == 1)
compMove = "Monkey";
else if (compInt == 2)
compMove = "Robot";
else if (compInt == 3)
compMove = "Pirate";
else if (compInt == 4)
compMove = "Ninja";
else if (compInt == 5)
compMove = "Zombie";
System.out.println("What do you choose?: ");
yourMove = input.nextInt();
//MONKEY
if(yourMove == 1 || compInt == 1)
System.out.println("Tie");
else if (yourMove== 1 || compInt == 2)
System.out.println("You Win! Monkey Unplugs Robot!");
else if (yourMove== 1 || compInt == 3)
System.out.println("You Lose! Pirate Skewers Monkey!");
else if (yourMove == 1 || compInt == 4)
System.out.println("You Win! Monkey fools Ninja!");
else if (yourMove== 1 || compInt == 5)
System.out.println("You Lose! Zombie savages monkey!");
由於您使用OR運算符只有第一,如果將得到調用休息,如果輸入是1永遠不會調用.. – Jobin
您正在尋找&&運算符。 – Li357