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

请教一个随机数比较的问题
//随机数比较
import java.util.*;
public class Randoms
{
public static void main(String [] args)
{
  Scanner input = new Scanner(System.in);
System.out.println("请输入一个1-100的整数");
int random = (int)(Math.random()*100);
int num = 0;
while(num != random)
{
num = input.nextInt();
if(num>random)
{
System.out.println("大了点");
}
else if(num<random)
{
System.out.println("小了点");
}
else 
{
System.out.println("猜对了");
}
}
}
}

想问下你们,为什么把num = input.nextInt();放到循环里面就成一个死循环了呢?
要是可以的话,希望你们尽量说的通俗点,我理解力差

------解决方案--------------------
你的random 没有循环
 
把他写进 while
------解决方案--------------------
import java.util.*;
public class Randoms
{
public static void main(String [] args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入一个1-100的整数");
int random = (int)(Math.random()*100);
int num = 0;
while(num != random)
{

if(num>random)//此时num=0,跳出,进入else
{
num = input.nextInt();
System.out.println("大了点");
}
else if(num<random)//0<random 始终成立,所以死循环
{
System.out.println("小了点");
}
else
{
System.out.println("猜对了");
}
}
}
}

你是这个意思吗?
------解决方案--------------------
而且每次循环都需要你手动输入一个数来比较大小 你是不是每次都输入了呢
------解决方案--------------------
探讨
是地是地,我讲反了,抱歉了啊哈