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

java中的一个最最简单的小问题
我刚学java没几天。今天自己写了一个产生随机的100以内的偶数,但是运行后发现有时会出现大于100的数,想问下原因。各位大侠不要鄙视新手呀。如果回复,麻烦解释的清楚点,偶是新手,,,
class NoTtle
{
public static void main(String args[ ])
{
int x;
x=(int)(Math.random()*100);
if(x%2!=0)
{
x+=x;
}
System.out.println("x="+x+",是偶数");
}

}


------解决方案--------------------
if(x%2!=0)
{
x+=x; //很显然,如果x=51,不能被2整除, 那么x = 51+51 = 102就超过100了
}

所以
if(x%2!=0)
{
x += (x>98 ? -1 : 1); //奇数加或减1就是偶数了
}