Scanner对象
next()方法
- 一定要读取到有效字符后,才可以结束输入
- 对输入在有效字符之前的空白,next()方法会自动将其去掉
- 对输入在有效字符之后的空白,next()方法会将他作为结束符,把在空白后的内容都去掉 例如:用next()方法输入Hello world,只会输出Hello
- next()方法不能得到带空格的字符串
package com.ezra.flow;
import java.util.Scanner;
public class ScannerDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("要输出的内容:");
if (scanner.hasNext()){
String str = scanner.next();
System.out.println("输出的内容为:"+str);
scanner.close();
}
}
}
nextLine()方法
- 以Enter作为结束符,nextLine()方法返回的是输入回车之前的所有字符
- nextLine()方法可以获得空白
package com.ezra.flow;
import java.util.Scanner;
public class ScannerDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("要输出的文字:");
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出的文字:"+str);
scanner.close();
}
}
}
求多个数的和与平均数
package com.ezra.flow;
import java.util.Scanner;
public class ScannerDemo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
double sum = 0;
int x =0;
while (scanner.hasNextDouble()){
double v = scanner.nextDouble();
x++;
sum = sum + v;
System.out.println("您已经输入了"+x+"个数");
}
System.out.println("当前输入了"+x+"个数");
System.out.println("和为"+sum+",平均值为"+(sum/x));
scanner.close();
}
}