日期:2014-05-20  浏览次数:20819 次

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啊