Java 在指定变量的范围内生成随机数
我是一个新的编码,所以可能有一个简单的解释我的问题。我试图在2个不同的范围(1-4和1-13)中生成2个随机数,而每个范围中的每个数字对应一个变量名。1=“红心”,13=“国王”。但两个随机数生成器的结果都始终为0 //这是我为shuffleSuit方法编写的类中的代码 因为1=红桃,2=黑桃,3=钻石,4=梅花 在类级别定义Java 在指定变量的范围内生成随机数,java,class,random,writing,Java,Class,Random,Writing,我是一个新的编码,所以可能有一个简单的解释我的问题。我试图在2个不同的范围(1-4和1-13)中生成2个随机数,而每个范围中的每个数字对应一个变量名。1=“红心”,13=“国王”。但两个随机数生成器的结果都始终为0 //这是我为shuffleSuit方法编写的类中的代码 因为1=红桃,2=黑桃,3=钻石,4=梅花 在类级别定义 public double shuffleSuit() { int random = (int)(Math.random() * 4 + 1);
public double shuffleSuit()
{
int random = (int)(Math.random() * 4 + 1);
System.out.println(shuffleSuit);
return shuffleSuit;
}
//这是faceValues so 2-10,king,queen,jack,ace的代码
public int shufflefaceValue()
{
int random = (int)(Math.random() * 13 + 1);
System.out.println(shufflefaceValue);
return shufflefaceValue;
}
//在我的卡片类演示中,我用来称呼他们的线路是
c、 shuffleSuit();c、 shufflefaceValue()
输出总是
0
0您将随机生成的值分配给名为
random
的变量,但随后打印出名为shuffleSuit
的变量。可能shuffleSuit
是一个未初始化的类变量,未初始化整数的默认值为0
将生成的值分配给shuffleSuit或打印并返回random
Math。random()*13
将生成一个介于0(包括)和13(排除)之间的随机数。添加1将得到1-13.999…,而转换为int将得到1-13。