如何获得0~600的随机值,间隔为10?

Gui*_*osa 1 java random

我有一个600x600的屏幕,我想基本划分它每10个方格,所以我可以做一个蛇游戏,所以我需要生成这些分区的食物.

我想到的代码:

x.nextInt(10)*x.nextInt(6)*x.nextInt(10)
Run Code Online (Sandbox Code Playgroud)

这不起作用,即使它工作有多个值可以达到20,比如说1*2*10,2*1*10 ......

所以我也想到了这个:

(int)(x.nextInt(600)/10)*10
Run Code Online (Sandbox Code Playgroud)

但它没有使间隔10 ...

我也想到了这个:

Integer.parseInt(Double.toString(x.nextInt(600)/10))*10
Run Code Online (Sandbox Code Playgroud)

但它几乎是愚蠢的,它不起作用(给出一个错误)

如果你不理解我想要的,这里是结果:随机对(x和y):10,60 420,170 550,480 80,600

这是我不想要的:14,52 88,19,551,529 415,550

如何管理逻辑以使此间隔随机化?

Sin*_*int 5

你可以尝试:

(int)(Math.random() * 60) * 10
Run Code Online (Sandbox Code Playgroud)

基本上,这会在0到59之间找到一个随机int,然后将它乘以10,这样数字的间隙为10 ......

或者,您可以利用整数除法和使用

(int)(Math.random() * 600) / 10 * 10
Run Code Online (Sandbox Code Playgroud)

它的工作原理相同.