javaScanner

javaScanner

Scanner对象

在前面学习的基本语法中并没有实现程序和人的交互,所欲java给我们提供了一个工具类,可以让计算机获取用户的输入。java.util.Scanner是java5的新特性,可以通过Scanner类获取用户的输入。

基本语法

Scanner s=new Scanner(System.in);//new:开辟新的内存空间

使用next方法接收

public class Demo1 {
    public static void main(String[] args) {
        System.out.println("使用next方式接收:");
        //创建一个扫描器用来接收键盘数据
        Scanner s=new Scanner(System.in);


        //判断用户有没有输入字符串
        if(s.hasNext()){
            String str=s.next();//使用next方式接收,执行到这里程序会等待用户输入完毕
            System.out.println("接收到的数据:"+str);
        }
//        凡是属于IO流的类如果不关闭就会一直占用资源,要养成良好的习惯,用完就关,如同水龙头
        s.close();
    }
}

使用nextLine方法接收

public class Demo2 {
    public static void main(String[] args) {
        System.out.println("使用nextLine方式接收");
         //从键盘接收数据
        Scanner s=new Scanner(System.in);
         //判断是用户有没有输入字符串
        if(s.hasNextLine()){
            String str=s.nextLine();
            System.out.println(str);
        }
         s.close;
    }
}

切记一定要关闭

两者的区别

image-20210708111423559

scanner.has*():用来定规则

**scanner.haNextInt()😗*判断输入的是不是整数

**scanner.haNextFloat()😗*判断输入的是不是浮点数

public class Demo4 {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);//创建一个内存空间接收用户的输入

        System.out.println("接收用户的输入");
        System.out.println("请输入一个整数:");
        if (s.hasNextInt()){//检查用户的输入是不是整数
            int a=s.nextInt();
            System.out.println("整数"+a);
        }else{
            System.out.println("您输入的不是整数");
        }

        System.out.println("请输入一个浮点数:");
        if (s.hasNextFloat()){//检查用户的输入是不是浮点数
            float b=s.nextFloat();
            System.out.println("浮点数"+b);
        }else{
            System.out.println("您输入的不是整数");
        }

        System.out.println("请输入一个布尔值:");
        if (s.hasNextBoolean()){//检查用户的输入是不是布尔值
            boolean c=s.nextBoolean();
            System.out.println("布尔值"+c);
        }else{
            System.out.println("您输入的不是布尔值");
        }
        s.close();
    }
}

做一个简单的加法计算器

public class Demo5 {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        int m=0;//计算输入了多少个数字
        int sum=0;//计算输入的数字和
        //判断输入的类型是不是符合Double范围内
        //只要用户还有输入就一直循环,除非输入不是Double范围内的值
        while (s.hasNextDouble()){
            double i=s.nextDouble();
            m++;
            sum+=i;

        }
        System.out.println(m+"个数的和为"+sum);
        System.out.println(m+"个数的平均值为"+sum/m);


        s.close();
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值