一.Scanner对象
1.next()方法
[1] 一定要读到有效字符后才可以结束输入
[2] 对输入有效字符之前的空白,next()会自动去掉
[3] 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
[4] next()不能得到带有空格的字符串
2.nextLine()方法
[1] 以Enter作为结束符,nextLine返回的是结束符之前的所有字符
[2] 可以输出空白字符
二.实例
1.Next()
public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
if(scanner.hasNext()){
String str = scanner.next();
System.out.println("输出的数据为:"+str);
}
scanner.close();
}
2.NextLine()
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if(scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出的数据为:"+str);
}
scanner.close();
}
3.
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
String str1 = scanner.nextLine();
System.out.println("输出的数据为:"+str1);
scanner.close();
}
4.NextInt()、NextFloat()方法,判断输入的是否为整数、小数
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.println("请输入整数:");
if(scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("输入的整数为:"+i);
}else{
System.out.println("输入的不是整数!");
}
System.out.println("请输入小数:");
if(scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("输入的小数为:"+f);
}else{
System.out.println("输入的不是小数!");
}
scanner.close();
}
4.nextDouble()
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
double sum = 0;
int m = 0;
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
m++;
sum+=x;
System.out.println("这是第"+m+"个数,当前总和:"+sum);
}
System.out.println("共输入了"+m+"个数据");
System.out.println(m+"个数据的平均数:"+(sum/m));
scanner.close();
}