剪纸摇滚不工作

时间:2016-11-14 05:48:12

标签: java if-statement

我正在创建一个类似于剪纸摇滚的代码。

我创建了一个随机数生成器,允许计算机随机生成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!");

1 个答案:

答案 0 :(得分:0)

您在if语句中给出了OR运算符。

true

当你输入1时,第一个if条件将通过,而不管" compInt"值。

您应该使用AND(&&)运算符。

if(yourMove == 1 || compInt == 1)