JAVA-Scaneer对象

JAVA-Scaneer对象

Scanner对象

我们可以通过scanner来获取用户的输入

基本语法
Scanner s = new Scanner(System.in);
nextLine():输入
import java.util.Scanner;

public class hello {
    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();//凡是属于IO流的类 如果不关闭会一直占用资源
    }
}
  • 以Enter为结束符,也就是说nextLine()方法返回的是输入回车键之前所有的字符
  • 可以获得空白
next():输入
import java.util.Scanner;   //创建完Scanner后自动生成

public  class hello {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据
        Scanner scanner = new Scanner(System.in);//System.in是输入
        System.out.println("使用next来接收:");
        //判断用户是否输入字符串
        if (scanner.hasNext()) {
            String str = scanner.next();    //使用next来接收
            System.out.println("输出的内容为:" + str);
            scanner.close();//凡是属于IO流的类 如果不关闭会一直占用资源
        }
    }
}
  • 一定要读取到有效数字才可以1结束输入
  • 对输入有效字符之前遇到空白,next()方法会自动将其去掉
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  • next()不能得到带有空白的字符串
关键语句
String str = scanner.next();//使用next来接收。                              
String str = scanner.nextLine();//使用nextLine来接收
判断整数小数案例
import java.util.Scanner;

public class hello {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //从键盘接收数据
        int i = 0;
        float f = 0.01f;
        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();
    }
}
java求和,平均值
import java.util.Scanner;//加载Scanner

public class hello {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);//获取用户输入的数据
        double sum = 0; //求和 用高精度的double来赋值
        int n = 0;  //计算输入多少个数字
        System.out.println("请输入数字");
        while (scanner.hasNextDouble()){	//循环语句
            double x = scanner.nextDouble();	//获取用户输入的数字并储存在变量x中
            n = n + 1;	//给到n的初始值为0,因为我们要计算用户输入的数字,所以要+1
            sum = sum  + x;	//sum的初始值为0,用户输入的数字都存储在x变量中,因此要+x
        }
        System.out.println("第"+ n + "个数的和为:" + sum);
        System.out.println("第" + n + "个数的平均值为:" + (sum / n ));
        scanner.close();//结束scanner
    }
}