Java随机数

Kar*_*ing 3 java random numbers generator

初学者问题:我尝试使用此代码创建一个随机数

int rand = (int) Math.random()*10;
Run Code Online (Sandbox Code Playgroud)

但是,在打印到屏幕时,我一直收到0作为答案

只有在插入括号后才这样

int rand = (int)(Math.random()*10);
Run Code Online (Sandbox Code Playgroud)

数字显示得当.任何人都可以解释我错过的逻辑原因吗?

Gaë*_*l J 5

当你写作时int rand = (int) Math.random()*10,你实际上在写作:

int rand = ((int) Math.random()) * 10;
Run Code Online (Sandbox Code Playgroud)

因此,您得到0,因为随机数介于0和1之间,并将其转换为a int使其等于0.