Pus*_*dav -1 java type-conversion
这段代码给出了我想要的结果
double a=Math.random()*100;
int b=(int)a;
System.out.println(b);
Run Code Online (Sandbox Code Playgroud)
但是当我用这种方式做同样的事情时,总是给出零
int a=(int)Math.random()*100;
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)
据我所知,类型转换会将较大的数据类型存储为小型.但是在后面的代码中,每次运行程序时我都会得到零.
(int)Math.random()*100;
手段:
将'Math.random()'的值转换为int,然后将100转换为100.由于Math.random返回0到1之间的数字,因此转换为int将始终切断小数路径并给出0.
正确的方法是
(int)(Math.random()*100);