Scanner对象
基本语法
创建一个扫描器对象s 用于接受键盘的输入(System.in代表键盘输入)
Scanner s=new Scanner(System.in)
hasNext()和next()方法
hasNext()方法用来判断是否有输入
next()方法用来接受输入
next()
注意:
- 一定要读取到有效字符
- 对输入有效字符之前遇到的空白,next()方法会自动去除
- 只有输入有效字符后才将其后面输入的空格作为分割符或者结束符
- next()不能得到带有空格的字符串,空格前的内容可以接收,空格后的内容会丢失
代码
package com.base1.basedemo3;
import java.util.Scanner;
public class Scan {
public static void main(String[] args) {
//创建一个扫描器对象 用于接受键盘的输入
Scanner in = new Scanner(System.in);
//用扫描器对象的hasNext()方法判读是否有输入 在读到字符以后 不能读到带有空格的字符串 空格后的内容会丢失
//例如输入HELLO WORLD
//只能读取到HELLO后面的内容丢失
System.out.println("请输入您的内容:");
if (in.hasNext()) {
//用扫描器的next()方法接受字符串
String out1=in.next();
System.out.println("您已经输入了:"+out1);
}
//注意属于IO流的类如果不关闭会一直占用资源,最好用完就关!!用完就关!!用完就关!!
in.close();
}
}
结果
"D:\Program Files (x86)\jdk13\bin\java.exe" --enable-preview "-javaagent:D:\IDEA\IntelliJ IDEA Community Edition 2020.1.3\lib\idea_rt.jar=63252:D:\IDEA\IntelliJ IDEA Community Edition 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath D:\IDEA\JavaSE\out\production\基础语法 com.base1.basedemo3.Scan
请输入您的内容:
kory chan
您已经输入了:kory
Process finished with exit code 0
hasNextLine()和nextLine()方法
hasNextLine()方法用来判断是否有输入
nextLine()
注意:
- 以Enter为结束符,也就是说nextLine()方法返回的是回车前的所有字符,包括空格
- 可以获取空白
代码
package com.base1.basedemo3;
import java.util.Scanner;
public class Scan2 {
public static void main(String[] args) {
Scanner in2=new Scanner(System.in);
//调用扫描器对象的hasNextLine()方法判断是否有输入 注意此方法是以Enter为结束符
if(in2.hasNextLine()){
//调用扫描器对象的nextLine()方法接受字符串
String out2=in2.nextLine();
System.out.println(out2);
}
in2.close();
}
}
结果
"D:\Program Files (x86)\jdk13\bin\java.exe" --enable-preview "-javaagent:D:\IDEA\IntelliJ IDEA Community Edition 2020.1.3\lib\idea_rt.jar=63260:D:\IDEA\IntelliJ IDEA Community Edition 2020.1.3\bin" -Dfile.encoding=UTF-8 -classpath D:\IDEA\JavaSE\out\production\基础语法 com.base1.basedemo3.Scan2
kory chan
kory chan
Process finished with exit code 0