为什么这么写
System.out.println((int)Math.random()*100);
就是错的;
double a=Math.random()*100;
int b=(int)a;
System.out.print(b);
就对
有区别吗?

解决方案 »

  1.   

    System.out.println((int)Math.random()*100);
    System.out.println((int)(Math.random()*100));
    不一样
      

  2.   

    (int)Math.random() * 100
    (int)(Math.random() * 100)
    看谁跟谁先结合了,如果先跟Math.random()结合,就先得到0了。
    如果Math.random() 跟 100先结合再转换就好了。
      

  3.   

    random
    public static double random()
    只能是random  楼主写int就错了  因为你没传double类型  ,像楼上说的,先括号是double类型,再强制转换!