//随机数比较
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();放到循环里面就成一个死循环了呢?
要是可以的话,希望你们尽量说的通俗点,我理解力差
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();放到循环里面就成一个死循环了呢?
要是可以的话,希望你们尽量说的通俗点,我理解力差
while(input.nextInt())从逻辑判断来说,非0即真,那么除非你nextInt输入是0,否则循环无法结束。我猜测你其实是想:while(num != input.nextInt()) 吧?
{
num = input.nextInt(); ←这句话是说num的值为键盘输入值........}
把他写进 while
我就去奇怪,为啥放到while(){"这里面"}就是死循环了,放到外面就没事
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("猜对了");
}
}
}
}你是这个意思吗?
我晕死原来是说反了。那是必然死循环的吧,你把
num = input.nextInt();
放在while之前,意味着num永远也没有机会得到新的值,那么while的判定结果当然也就永远不变