java Scanner next() nextLine()的区别。
来源:互联网 发布:javascript设计模式pdf 编辑:程序博客网 时间:2024/06/05 16:03
首先查看一下官方api文档对此的解释:
运行结果:
next()
查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。 此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。
因为此方法会继续在输入信息中查找行分隔符,所以如果没有行分隔符,它可能会缓冲所有输入信息,并查找要跳过的行。
区别:
nextLine()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
nextLine()方法读取一整行,且结束符只能是Enter键
import java.util.Scanner;public class TestScanner { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入字符串:"); while (true) { String line = s.next(); if (line.equals("exit")) break; System.out.println(">>" + line); } } }
运行结果:
请输入字符串:hello world!>>hello>>world!
import java.util.Scanner;public class TestScanner { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入字符串:"); while (true) { String line = s.nextLine(); if (line.equals("exit")) break; System.out.println(">>" + line); } } }
运行结果:
请输入字符串:hello world!>>hello world!
nextLine()会自动读取了被next()去掉的Enter作为其结束符:
import java.util.Scanner;public class TestScanner { public static void main(String[] args) { while(true){ String s1,s2; Scanner sc=new Scanner(System.in); System.out.println("请输入第一个字符串s1:"); s1=sc.next(); System.out.println("请输入第二个字符串s2:"); s2=sc.nextLine(); System.out.println("输入的字符串是:"); System.out.println("s1:" + s1); System.out.println("s2:" + s2); }}运行结果:
请输入第一个字符串s1:hello请输入第二个字符串s2:输入的字符串是:s1:hellos2:请输入第一个字符串s1:hello world!请输入第二个字符串s2:输入的字符串是:s1:hellos2: world!
如果在nextLine()方法之前使用了next() 和 及其基本类型 companion 方法(如 nextInt() 等)
在next()方法后加上一个nextLine()语句,将被next()去掉的Enter结束符过滤掉:
import java.util.Scanner;public class TestScanner { public static void main(String[] args) { while(true){ String s1,s2; Scanner sc=new Scanner(System.in); System.out.println("请输入第一个字符串s1:"); s1=sc.next(); System.out.println("请输入第二个字符串s2:"); sc.nextLine(); s2=sc.nextLine(); System.out.println("输入的字符串是:"); System.out.println("s1:" + s1); System.out.println("s2:" + s2); } }运行结果:
请输入第一个字符串s1:hello请输入第二个字符串s2:world!输入的字符串是:s1:hellos2:world!
0 0
- Java Scanner next()和nextLine()的区别
- java Scanner nextLine next 连用的区别
- java Scanner next() nextLine()的区别。
- Java Scanner next()和nextLine()的区别
- scanner.next()与scanner.nextLine()的区别
- Java中Scanner的nextLine()与next()的区别
- Java的Scanner中next()、nextLine()的区别
- java中Scanner类中next()与nextLine()的区别
- java Scanner中的 next() 方法和 nextLine() 方法的区别
- Java控制台输入Scanner中next和nextLine的区别
- Java中Scanner的next()和nextLine()区别
- Java之Scanner类中next()和nextLine()的区别
- java scanner next nextline nextint区别
- Scanner的next()和nextLine()的区别
- Scanner中的next()与nextLine()的区别
- Scanner中next()与nextLine()的区别
- Scanner对象的next()与nextLine()区别
- Scanner 的next() 与nextline()
- java算法4 直接排序
- 基于Swoole的异步消息发送(短信、邮件等)PHP Yaf
- jzoj 4711. 【NOIP2016提高A组模拟8.17】Binary 树状数组+位运算
- vagrant 协作开发工作笔记(一)
- Parallelogram Counting(POJ 1971)
- java Scanner next() nextLine()的区别。
- 2016.8.17日记
- [SCU 4437 Carries] 二分
- 各种实用的模板和黑科技(缓更)
- 14All configured PGW endpoint service URIs are unusable.
- 数据结构实验之图论六:村村通公路
- IOS-corelocation
- ccf字符串题
- js操作cookie