需要返回字符串但只能获得带随机数生成器的int

Mar*_*rne 1 java random generator

无法弄清楚为什么我的代码只在我需要一个字符串时返回一个Int,并且帮助会很棒.代码如下.我尝试将变量声明为String而没有运气.

我想要返回3个随机字符串:樱桃,葡萄,铃铛或x

import java.util.Scanner;
import java.util.Random;

public class slot {
    public static void main(String[] args)
    {
        String answer = "y";
        int cherry;
        int grape;
        int bell;
        int x;



        Random generator = new Random(); // random generator
        Scanner scan = new Scanner (System.in); // scanner class

        System.out.println("Would you like to play the slot machine?(y/n): ");
        answer = scan.nextLine();

        while(answer.equalsIgnoreCase("y"))
        {
             cherry = generator.nextInt(5); // generates a random number
            grape = generator.nextInt(5);
            bell = generator.nextInt(5);

            System.out.println("The three numbers of the slot machine are: " + cherry +grape +bell);

            if(cherry == grape && grape == bell)
               {
                System.out.println("JACKPOT! All three of the same");
               }

            if(cherry == grape || cherry == bell || grape == bell )
               {
                System.out.println("Close, you got two of the same!!");
               }
            else
               {
                System.out.println("Not a winner");
               }

            System.out.print("Try again?(y/n): ");
            answer = scan.nextLine();
            System.out.println();
        }


        System.out.println("Bye!!");

    }

}
Run Code Online (Sandbox Code Playgroud)

aio*_*obe 8

我会像这样制定它:

// The different results each "wheel" / "column" on the slot machine.
String[] results = { "cherry", "bell", "grape", "x" };

// Create a random result for each wheel.
String wheel1 = results[generator.nextInt(results.length)];
String wheel2 = results[generator.nextInt(results.length)];
String wheel3 = results[generator.nextInt(results.length)];
Run Code Online (Sandbox Code Playgroud)

然后继续你的if陈述.(但是要做else if第二和第三个陈述).

if (wheel1 == wheel2 && wheel2 == wheel3) {
    // jackpot
} else if (wheel1 == wheel2 || wheel2 == wheel3 || wheel1 == wheel3) {
    // two equal
} else {
    // all three different.
}
Run Code Online (Sandbox Code Playgroud)

如果你想深入了解这门语言,我建议你研究一下enum.

(请注意,比较使用的字符串==是10个中的9个案例中的一个坏主意.但是,我们不需要费心去比较字符串内容,但可以通过比较参考值来逃避.)