你如何使用math.random生成随机整数?

Gwo*_* Hi 14 java random

你如何使用Math.random生成随机整数?

我的代码是:

int abc= (Math.random()*100);
System.out.println(abc);
Run Code Online (Sandbox Code Playgroud)

打印出的全部是0,我该如何解决?

Rus*_*ell 24

将abc转换为整数.

(int)(Math.random()*100);
Run Code Online (Sandbox Code Playgroud)

  • 应该注意这会产生0-99 (8认同)

Rog*_*sjö 20

要编译代码,需要将结果转换为int.

int abc = (int) (Math.random() * 100);
Run Code Online (Sandbox Code Playgroud)

但是,如果您改为使用java.util.Random类,则它为您构建了内置方法

Random random = new Random();
int abc = random.nextInt(100);
Run Code Online (Sandbox Code Playgroud)


Dav*_*ton 11

作为替代方案,如果没有特定的理由可以使用Math.random(),请使用Random.nextInt():

Random rnd = new Random();
int abc = rnd.nextInt(100); // +1 if you want 1-100, otherwise will be 0-99.
Run Code Online (Sandbox Code Playgroud)