java输出的问题
public class E
{
/**
* @param args
*/
public static void main(String[] args)
{
double m=Math.random();
int n=(int)m*20;
if(n%2!=0)
{n=n*3+1;
}
while(n!=1)
{ n=n/2;
if(n%2!=0)
n=n*3+1;
}
System.out.println(n);
}
}
此程序是为了验证任意自然数如果是偶数除2如果是奇数乘3加1如此循环最终结果为1 ,我的编译通过了,为什么什么都没有输出??
------解决方案--------------------
int n = (int)(Math.random()*20)
就好了啊
因为random产生的是0-1之间的数据,抓换成int就是0啊