

求大神解释:
Scanner sc=new Scanner(System.in);
int id=sc.nextLine();
(执行不正常)
String s=new Scanner(System.in).nextLine();
(执行正常)
是什么原因


求大神解释:
Scanner sc=new Scanner(System.in);
int id=sc.nextLine();
(执行不正常)
String s=new Scanner(System.in).nextLine();
(执行正常)
是什么原因
两者其实是没什么区别的,唯一的区别是Scanner sc=new Scanner(System.in);这种方式可以再次用到sc对象,而new Scanner(System.in).nextLine();这种方式是只用一次。然后,int id=sc.nextLine();等同于int id =new Scanner(System.in).nextLine();你会发现两个都报错。改成String id=sc.nextLine();就行了,或者改成int id = sc.nextInt();也行。