我是编码新手,所以可能对我的问题没有一个简单的解释。我试图在2个不同范围(1-4和1-13)中生成2个随机数,而每个范围中的每个数字都对应一个变量名。 1 =“心脏”,13 =“国王”。但是两个随机数生成器的结果都始终为0。

//这是我为shuffleSuit方法编写的类中的代码
因为1 =心,2 =黑桃,3 =钻石,4 =球棒,
在课堂上定义

public double shuffleSuit()
    {
        int random = (int)(Math.random() * 4 + 1);

        System.out.println(shuffleSuit);

        return shuffleSuit;
        }


//这是faceValues的代码,所以2-10,king,queen,jack,ace

public int shufflefaceValue()
{
    int random = (int)(Math.random() * 13 + 1);

    System.out.println(shufflefaceValue);

    return shufflefaceValue;
    }


//我在Card类演示中用来调用它们的行是
    c.shuffleSuit(); c.shufflefaceValue();

输出总是
0
0

最佳答案

您正在将随机生成的值分配给名为random的变量,但随后打印出名为e.g.的变量。 shuffleSuitshuffleSuit可能是未初始化的类变量,未初始化整数的默认值为0

将生成的值分配给shuffleSuit或打印并返回random

10-06 14:21