gpt4 book ai didi

java - Math.random() 方法中的问题

转载 作者:行者123 更新时间:2023-12-01 18:41:48 25 4
gpt4 key购买 nike

这可能不是最难实现的事情,但我仍然遇到问题:S:

在我的小程序中,我正在模拟纸牌游戏( http://tinyurl.com/pf9fhf4 ),我需要从 [0,35] 范围内以 5 为增量生成一个随机数。因此,可能的值应该是:0, 5、10、15、20、25、30、35。我首先在一个单独的类中尝试过这个,如下所示:

class RandomValue {
public static void main (String [] args){

int i =0;

do {
int n = (int) (Math.random()*36 );
if (n%5 ==0){
System.out.println(n);
i++;
}

} while (i <1);
}
}

这有效!!!

当我尝试创建一个返回此生成值的方法时:

public class Tarot {

public static int rValue (){

int i =0;

do {
int n = (int) (Math.random()*36 );
if (n%5 ==0){
int r =n;
i++;
}
}while(i<1);
return r;
}
}

它返回一个错误:

Tarok.java:14: error: cannot find symbol
return r;
^

我做错了什么,有什么建议如何以更漂亮的方式做到这一点吗?

最佳答案

r 仅在 if 范围内已知:

if (n%5 ==0) {
int r =n; //r is known only between the braces of the if
i++;
}
//I know r here said no one ever

if 范围之外声明 r

我强烈建议您缩进代码,以保持清晰并防止可能出现的错误。

关于java - Math.random() 方法中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19680071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com