用户交互Scanner
public class Demo {
public static void main(String[] args) {
//从键盘接收数据
Scanner scanner = new Scanner(System.in);
//判断是否有非空白输入(如果一直是空白则一直等待输入)
if (scanner.hasNext()){
System.out.println(6);
String str = scanner.nextLine();
System.out.println(6);
}
scanner.close();
}
}
- hasNext()和hasNextLine区别:
当程序遇到它们时就会停下等待输入,hasNext()会判断键盘缓冲区是否有非空白输入,若有,则会把非空白输入放入缓冲区,否则会一直等待非空白输入,而hasNextLine()会判断键盘缓冲区是否有输入(包括空白输入),回车键结束输入然后把所得输入放入键盘缓冲区
- scanner.next()和scanner.nextLine()区别:
两者都会从键盘缓冲区读取数据,前者会读取非空白输入(当遇到第一个非空白数据开始读取,之后在遇到空白数据会停下,若无非空白数据则不会结束),并释放键盘缓冲区,后者全部读取,以回车为结束符,并释放键盘缓冲区
- hasNextInt()
若得到的非空白数据是整型,则返回true,若输入不是整型返回false(空白除外,空白会一直等待输入),hasNextDouble()同理(遵循自动类型转换规则)
标签:Scanner,用户,键盘,空白,缓冲区,交互,输入,scanner From: https://www.cnblogs.com/geeklee/p/17176659.html