一头浓密的头发 2020-05-08 00:17 采纳率: 0%
浏览 921

先Scanner sc=new Scanner(System.in)再String s=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();
(执行正常)

是什么原因

  • 写回答

3条回答 默认 最新

  • 小明程序猿 2020-05-08 11:35
    关注

    两者其实是没什么区别的,唯一的区别是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();也行。

    评论

报告相同问题?