关于 scanner 的学习与记录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8bm1PwaF-1680434631209)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330150708475.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GuCIB3NN-1680434631211)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330153638466.png)]

next()和nextLine()的区别

  • next()

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ej8icf8-1680434631211)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330153534695.png)]

此处显示输出的内容 只有hello ,next()不能得到带有空格的字符串

  • nextLine()

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K1tnYj1u-1680434631212)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330153902106.png)]

此处可以完全显示,因为nextLine()可以获得空白

  • 取消if判断的nextLine(),如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pB1FGk6k-1680434631213)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330154529688.png)]

可以看到 全部完整输出

scanner 进阶

1.整数与小数的输入输出操作

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("输入的不是小数数据!");
        }
    }
}

运行结果:

  • 当输入相应的整数、小数

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HSsmeXfK-1680434631214)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330162639780.png)]

  • 当在整数输入小数时的结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4skjYPl7-1680434631215)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330162622908.png)]

2.拓展 ,输入多个数字,并求其总和与平均数,没输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果

package com.kuang.scanner;

import java.util.Scanner;

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

        //和
        double sum = 0;
        //计算输入了多少数字
        int m = 0;
        System.out.println("请输入数据:");
        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while (scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            m = m + 1;//m++
            sum = sum + x;//每次的当前总和加上新来的数字之后的总和
            System.out.println("你输入了第"+ m +"个数据,然后当前结果sum="+sum);

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

        scanner.close();
    }
}

运行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5466dupv-1680434631215)(C:\Users\29384\AppData\Roaming\Typora\typora-user-images\image-20230330163034867.png)]

当输入数字后,会一次显示数据的个数和总和,当输入非数字后,跳出循环,生成结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值