一, Scanner的基本语法:
Scanner se=new Scanner(System.in);
二,Scanner类的两个常用的两个方法
hasNext();
hasNextLine();
(1) hasNext();
输出结果:
next():
一定要读取到有效字符后才能结束输出;
对输入有效字符前的空白,next()会自动将其去掉;
只有在有有效字符输出后才将之后遇到的空白作为分隔符或结束符;
next()不能得到带有空格的字符串;
(2) hasNextLine();
输出结果:
nextLine():
以Enter为结束符,就是说nextLine()方法返回的时输出回车之前的所有字符;
可以获得空白;
总结:
<1>. 如(1),(2)图中所示,if语句的使用是为了判断hasNext()/hasNextLine()是否接受到数据;
因为通过Scaaner类的next()与nextLine()方法获取输入的字符串,
在读取前我们一般需要使用hasNext()判断是否还有输入的数据;
<2>. se.close(); [用于关闭输入流]
凡是属于IO流的类如果不关闭就会一直占用资源,要养成好习惯用完就关掉;
二,Scanner的进阶:
以下图为例:
import java.util.Scanner;
public class Scanner02 {
public static void main(String[]jj){
//从键盘输入多个数据,计算数据的和并求平均值,当输入的非数字时停止录入,输出结果;
Scanner se=new Scanner(System.in);
double sum=0;
int m=0;
while(se.hasNextDouble()){
double s=se.nextInt();
sum+=s;
m++;
}
System.out.println("数据的和为"+sum);
System.out.println("数据的平均值为"+(sum/m));
se.close();
}
}
输出:
Last but not least! 如有错误,望大佬相告!