Scanner

Scanner - next()与nextLine()

 Scanner scanner = new Scanner(System.in);

        System.out.println("使用next方法接收:");

        //判断用户有没有输入字符串  输入 Hello World
        if(scanner.hasNext()){
            //使用next方法接收
            String str = scanner.next();
            System.out.println("输入的内容为:"+str);  //输出 Hello
        }
		//判断用户有没有输入字符串
        if (scanner.hasNextLine()){
            //使用nextLine方法接受
            String str = scanner.nextLine();
            System.out.println("输入的内容为:"+str);  //输出 Hello World
        }

        //凡是io流的对象 在使用后都应关闭 避免浪费资源
        scanner.close();

next()

  • 一定要读取到有效字符后才可以接受输入
  • 对输入有效字符之前遇到的空白,next()方法会自动将其去除掉
  • 只有输入有效字符后才将其后面输入的空白作为分隔符或结束符
  • next() 不能得到带有空格符的字符串

nextLine()

  • 以Enter为结束符,nextLine()返回回车前的所有字符
  • 字符串中可以有空白符

nextInt() \ nextFloat() 等方法 读取特定类型数据

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int i = 0;
        float f = 0.0f;

        System.out.print("请输入整数:");
        if(scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("整数数据:"+i);
        }else{
            System.out.println("错误,输入的不是整数!");
        }

        System.out.print("请输入小数:");
        if(scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小数数据"+f);
        }else{
            System.out.println("错误,输入的不是小数!");
        }
    }
posted @ 2022-12-31 15:34  LaViez  阅读(42)  评论(0)    收藏  举报