黑马程序员技术交流社区
标题:
sc.nextInt()与sc.nextLine()
[打印本页]
作者:
fighting2016
时间:
2016-3-29 19:27
标题:
sc.nextInt()与sc.nextLine()
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数");
int x = sc.nextInt();
System.out.println("请输入一个字符串");
String line = sc.nextLine();
System.out.println("x = " + x + ",line = " + line);
输出结果为:
请输入一个数
1
请输入一个字符串
x = 1,line =
为什么没有键盘录入字符串就输出了呢???
作者:
305450674
时间:
2016-3-29 19:30
确实是个问题啊
作者:
daniua
时间:
2016-3-29 20:02
直接把他换乘nextLine,然后再将它转换成int类型好了
作者:
fighting2016
时间:
2016-4-3 19:11
daniua 发表于 2016-3-29 20:02
直接把他换乘nextLine,然后再将它转换成int类型好了
嗯,我知道解决方法,但不清楚产生这个问题的原因是什么
亲知道么?
作者:
fighting2016
时间:
2016-4-3 19:12
305450674 发表于 2016-3-29 19:30
确实是个问题啊
黑马币-29是什么鬼????
作者:
Ak-47
时间:
2016-4-3 19:37
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数");
int x = sc.nextInt(); //当你输入完数字时,系统默认在你的数字后面加上了\n\t,表示数字输入完毕了,在输入的是第二行的,刚好你下面的是接收字符串,所以误以为系统默认的\n\t就是你输入的,而这字符就是换行的意思.所以你在控制台看到的就是数字能显示出来,但是字符串那个后面撒都没有就是空白.如果你前后输入的都是数字或者字符串就没有问题了,小白的理解,仅供参考,轻喷
System.out.println("请输入一个字符串");
String line = sc.nextLine();
System.out.println("x = " + x + ",line = " + line);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2