Java Scanner类从控制台读取输入
2017-09-15 20:12
561 查看
java.util.Scanner
创建Scanner类的对象,以获取来自System.in的输入:
Scanner input = new Scanner(System.in);
读取数据前先使用
hasNextXxx()方法判断是否存在数据输入,不同数据类型方法不同:
input.hasNext(); input.hasNextByte(); input.hasNextShort(); input.hasNextInt(); input.hasNextLong(); input.hasNextDouble(); input.hasNextLine();
使用
nextXxx()方法读取输入,可以用空格或回车键作为分隔符:
input.next(); input.nextByte(); input.nextShort(); input.nextInt(); input.nextLong(); input.nextDouble(); input.nextLine();
注意:没有
nextChar()方法
next()和nextLine()的区别:
next()next() 读取分隔符前的一个字符串,不能得到带有空格的字符串;
一定要读取到有效字符后才可以结束输入;
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符,对输入有效字符之前遇到的空白,next() 方法会自动将其去掉;
nextLine()
nextLine()读取一行文本,即一按下回车键为结束标志;
可以获得空格;
实例说明
next()
nextByte()
nextShort()
nextInt()
nextLong()
nextDouble()
nextLine()都称为“令牌读取方法”,因为他们会读取用分隔符分隔开的令牌。默认情况下,分隔符是空格,可以使用
useDelimiter(String regex)方法设置新的分隔符模式。
nextLine()读取一个以行分隔符结束的行,行分隔符是由系统定义的,从键盘输入以回车键结束,对应
\n字符。
如下代码执行:
Scanner input = new Scanner(System.in); int intValue = input.nextInt(); String line = input.nextLine();
如果输入34,空格,567,回车,会发生什么情况呢?
intValue是
34,
line是
567(空格,567)。
如果输入34,回车,567,回车,会发生什么情况呢?
第一个
4000
回车处就会结束,将会得到
intValue是
34,
line是一个空字符串。因为令牌读取方法
nextInt()读取
34,然后在行分隔符处停止,
nextLine()读取到行分隔符结束处,所以是空的。
String类使用 plit
方法分隔字符串,使用 trim()
方法去除首尾空白
plit方法
String s = "sfsdafd adfdsaf adf af"; String[] strs = s.split("\\s+"); //以空白分隔字符串 for(int i = 0; i < strs.length; i ++){ System.out.println(strs[i]); }
输出结果:
sadfssdg adfs sf
trim()方法
String s = " sadfssdg adfs sf "; s = s.trim(); System.out.println(s);
输出结果:
sadfssdg adfs sf
String中
length是属性不是方法,不需要加括号。
相关文章推荐
- 【java】 Scanner类读取控制台输入内容研究
- java中Scanner类读取文件或控制台输入
- java控制台程序-读取输入的字符串,其中文字符变成乱码问题
- Java控制台读取输入
- java—IO流——读取键盘输入的字母并转换成大写字母输出在控制台上
- I学霸官方免费教程二十二:Java常用类之接收控制台输入 Scanner类
- Java中读取控制台的用户输入
- Scanner类的简单用法(这里举个读取控制台输入的内容,然后输出到控制台的简单例子)
- 智渔课堂官方免费教程二十二:Java常用类之接收控制台输入 Scanner类
- Java中从控制台读取输入的方法的总结
- Java笔记(1):从控制台读取输入
- JAVA接收控制台数据Scanner类---输入
- Java 小例子:读取控制台的用户输入
- Java 读取控制台输入
- 详细整理Java 从命令控制台输入数据读取输入流System.in的几种常用方法
- java中Scanner类nextInt之后用nextLine无法读取输入
- JAVA读取控制台的输入【转】
- Java 控制台读取输入并过滤特定字符
- Java从控制台读取输入的数
- JAVA读取控制台的输入【转】