Scanner 类中的 next() 与 nextLine() 区别
2014-04-02 19:07
239 查看
在使用 Scanner 类时,
next() 表示读取到有效数据后,才会往下执行。
而 nextLine() 不一样,只要它的前面出现个回车等分隔符,它不管有没有读取到数据,它都会去读取并往下执行。
看下面的一个键盘录入的例子吧!
Scanner s = new Scanner(System.in);
String ss = s.nextLine();
System.out.println("............."+ss); //这里,只要上面你按下回车了,不管有没有录入数据,它都会往下执行,只是数据为空
而如果你使用String st = s.next(); 它就要一定读到有效数据,不然不会往下执行。
所以,要注意下面的程序了
Scanner s = new Scanner(System.in);
int a = s.nextInt();
String ss = s.nextLine(); //这里是不会等待用户输入的,直接输出下面两个语句了,因为在上面 读取一个 整数后 ,你按了回车。
System.out.println(a);
System.out.println(ss);
next() 表示读取到有效数据后,才会往下执行。
而 nextLine() 不一样,只要它的前面出现个回车等分隔符,它不管有没有读取到数据,它都会去读取并往下执行。
看下面的一个键盘录入的例子吧!
Scanner s = new Scanner(System.in);
String ss = s.nextLine();
System.out.println("............."+ss); //这里,只要上面你按下回车了,不管有没有录入数据,它都会往下执行,只是数据为空
而如果你使用String st = s.next(); 它就要一定读到有效数据,不然不会往下执行。
所以,要注意下面的程序了
Scanner s = new Scanner(System.in);
int a = s.nextInt();
String ss = s.nextLine(); //这里是不会等待用户输入的,直接输出下面两个语句了,因为在上面 读取一个 整数后 ,你按了回车。
System.out.println(a);
System.out.println(ss);
相关文章推荐
- poj1180
- 【LeetCode】Single Number
- LeetCode | Longest Valid Parentheses
- 第五周项目1-3使用默认构造函数
- java反射机制(1)
- PHP获取url的方式
- Spring Data JPA 简单介绍
- Eclipse代码自动补全设置
- 腾讯一面,发现自己就是个渣渣
- leetcode之Permutations
- (dedecms)织梦搬家后无法更新栏目
- 笔记本电脑无线Wifi热点设置工具
- filezilla Failed to create listen socket on port 21 for IPv4 解决办法
- 构建系统介绍
- fedora的yum源配置
- VIM颜色配置
- JS数组操作
- 第五周项目1-2有参三角形类的结构函数
- cxf客户端调用webservice,出现问题 Found element arg0 but could not find matching RPC/Literal part
- 程序流程图对新手来说很重要。