package caishuzi;
import java.util.Random;
import java.util.Scanner;
public class User3 {
public static void main(String[] args){
int a = new Random().nextInt(101);
while(a == 0){
a = new Random().nextInt(101);
}
//System.in 代表标准键入,就是键盘输入
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
try{
int guess = Integer.valueOf(sc.next());
System.out.println("您好,您输入的数字是:" + guess);
if(guess > a){
System.out.println("您好,您猜大了。");
}
else if(guess < a){
System.out.println("您好,您猜小了。");
}
else{
System.out.println("您好,您猜对了。");
break;
}
}catch(NumberFormatException n){
System.out.println("您好,您的输入有误!");
}
}
}
}
出现的问题是:在我自己的电脑上,上面的代码运行正常,。但是换了台电脑,重新运行时,int guess = Integer.valueOf(sc.next());程序在这行出错,提示是:不能将Integer包装类直接赋给 int 类型的 变量 guess,,这是什么原因导致的呢?
将这行代码换为:int guess = Integer.parseInt(sc.next());
或
int guess = sc.nextInt();
(则可能运行正常)
出现上面的情况是什么原因导致的呢?求大神们帮忙解解疑惑,先谢谢各位了