我正在创建一个类似于剪纸摇滚的代码。
我创建了一个随机数生成器,允许计算机随机生成1-5之间的数字,每个数字代表不同的字符(猴子,机器人,海盗,忍者僵尸)
要求用户输入1-5之间的数字,并且代码用于比较用户输入和随机生成的数字,并通知赢得的用户。
代表。 1(猴子)节拍4(忍者);因此,如果用户选择1,并且计算机随机生成4,那么“你赢了”,那个猴子会欺骗忍者!"应该显示。
出于某种原因,我的代码只显示" Tie"当我输入1,"你赢了,猴子拔掉机器人"对于我输入的任何其他值。
似乎随机数生成器无法正常工作。
有人可以帮我解决这个问题吗?
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!");
答案 0 :(得分:0)
您在if语句中给出了OR运算符。
true
当你输入1时,第一个if条件将通过,而不管" compInt"值。
您应该使用AND(&&)运算符。
if(yourMove == 1 || compInt == 1)