Scanner类

Scanner类

java.util.Scanner 的类种,可以通过Scanner类来获取用户的输入

基本语法:

Scanner scanner = new Scanner(System.in);  // 创建一个扫描器对象,用于接收键盘数据

scanner.hasNextLine()   //为布尔值,存在为true ,不存在为false  对应nextline()
scanner.hasNext()       //为布尔值,存在为true ,不存在为false  对应next()
scanner.hasNextInt()    //为布尔值,存在为true ,不存在为false  对应nextInt()    
scanner.hasNextDouble() //为布尔值,存在为true ,不存在为false  对应nextDouble()    
    
String string = scanner.nextLine();  //创建一个字符串,用于接收键盘输入的内容
String string = scanner.next();      //创建一个字符串,用于接收键盘输入的内容,键盘输入会将字符串中的空格全部去除,并且只会读取到空格,空格后的将不会读取
int i =scanner.nextInt();            //定义一个整数,用于接收键盘输入的内容
double i =scanner.nextDouble();      //定义一个浮点数,用于接收键盘输入的内容

scanner.close();                    //关闭键盘输入

案例一

import java.util.Scanner;

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

        // 从键盘接收数据
        System.out.println("请输入整数:");

        // 判断输入是否为整数
        if (s.hasNextInt()){
            int i = s.nextInt();
            System.out.println("整数数字是:" + i);
        }else {
            System.out.println("你输入的不是整数");
        }

        System.out.println("请输入一个小数:");
        if (s.hasNextDouble()){
            double i =s.nextDouble();
            System.out.println("输入的小数为:" + i);
        } else {
            System.out.println("你输入的不是一个小数");
        }

        s.close();
    }
}

运行结果:

请输入整数:
11
整数数字是:11
请输入一个小数:
3.14
输入的小数为:3.14

案例二

import java.util.Scanner;

public class Deom05 {
    public static void main(String[] args) {
        double sum = 0 ;
        int n = 0;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数");

        while (scanner.hasNextDouble()){
            System.out.println("请输入一个数");
            double a = scanner.nextDouble();
            sum += a;
            n++;
            double b = sum / n;
            System.out.println("总共输入" + n +"个数,总和为:" + sum + "平均数为:" +
                    b);
        }
    }
}

运行结果:

请输入一个数
12
请输入一个数
总共输入1个数,总和为:12.0平均数为:12.0
16
请输入一个数
总共输入2个数,总和为:28.0平均数为:14.0
11
请输入一个数
总共输入3个数,总和为:39.0平均数为:13.0
8
请输入一个数
总共输入4个数,总和为:47.0平均数为:11.75
sa 

注意事项

next():只读取输入直到空格。它不能读两个由空格或符号隔开的单词。此外,next()在读取输入后将光标放在同一行中。(next()只读空格之前的数据,并且光标指向本行)

nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号(即。它读到行尾)。读取输入后,nextLine()将光标定位在下一行。

案例三 (使用next方式)

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 string = scanner.next();
            System.out.println("输出内容为:" + string);
        }
        // 凡是属于IO流的类,如果不关闭,一直会占用资源
        scanner.close();

    }

结果:

使用next方式来接收
111 222
输出内容为:111

案例四: (使用nextLine方式)

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 string = scanner.nextLine();
            System.out.println("输出内容为:" + string);
        }

        scanner.close();
    }
}

结果:

使用nextLine
111 222
输出内容为:111 222
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值