Scanner使用

Scanner对象

Scanner的基本性质

  • 用来获取用户的输入

  • java.util.Scanner

  • 语法:Scanner s = new Scanner(System.in);

  • 用Scanner类的next()nextLine()获取输入的字符串

  • 获取字符串之前使用hasNext()与hasNextLine()判断是否还有需要输入的数据

next()和nextLine()的区别

next()

  1. 一定要读取有效字符后才可以结束输入
  2. 对有效字符前的空白,next()方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  4. next()不能的得到带有空格的字符串。

nextLine()

  1. Enter作为结束符,nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以是空白

使用

package com.zhou.scanner;

import java.util.Scanner;

public class Demo01 {

    public static void main(String[] args) {

        //创建一个扫描对象 用于接受键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收:");

        //判断用户有没有输入字符串
        if(scanner.hasNext()){

            //使用next方式接收
            String str=scanner.next();  //123  123
            System.out.println("输出内容为:"+str); //123

            //凡是属于IO流的类如果不关闭会一直占用资源,用完就关闭掉
            scanner.close();

        }
    }

}
package com.zhou.scanner;

import java.util.Scanner;

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();  //123  123
            System.out.println("输出的内容为:"+str); //123  123

        }

        scanner.close();

    }
}
package com.zhou.scanner;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        //创建一个扫描对象 用于接受键盘数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine方式接收:");

        //不使用hasNextLine判断用户有没有输入字符串
        System.out.println("请输入数据:");
            String str=scanner.nextLine();  //123  123
            System.out.println("输出的内容为:"+str); //123  123



        scanner.close();

    }

}
package com.zhou.scanner;

import java.util.Scanner;

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();
    }
}
package com.zhou.scanner;

import java.util.Scanner;

public class Demo05 {

    public static void main(String[] args) {
      //可以输入多个数字,并求其总和与平均数,每输入一个数字回车确定,通过输入数字来结束输入并输出执行结果
        Scanner scanner = new Scanner(System.in);


        double sum=0.0;  //和
        int c=0;   //多少个

//累加用while循环语句   if是判断语句
        System.out.println("请输入数据进行计算:");
        while(scanner.hasNextDouble()){

            double x=scanner.nextDouble();
            c++;
            sum=sum+x;

        }

        System.out.println(c+"个数的和为: "+sum);
        System.out.println(c+"个数的平均数为: "+sum/c);

        scanner.close();
    }
}
posted @ 2020-12-21 21:39  钧钧BOSS  阅读(87)  评论(0)    收藏  举报