Scanner类

1.next()和 nextLine()

  1. Scanner类获取用户输入
  2. next()不能得到带有空格的字符串,必须得到有效的输入才能结束输入,有效输入的后面空白会被当成结束符。
  3. nextLine()可以接受带有空格的字符串。以Enter 为结束符。

在这里插入图片描述

2、测试代码

2.1、next()使用

package com.Macong.scanner;

import java.util.Scanner;

public class Demo01 {

    public static void main(String[] args) {



        //创建一个扫描器对象,接收键盘数据
        Scanner input1 = new Scanner(System.in);
        System.out.println("请输入数据:");

        //判断用户有没有输入字符串
        if (input1.hasNext()) {
            String str = input1.next();
            System.out.println("输入的数据为:" + str);
        }
        //凡是属于IO流得类。如果不会关闭会一直占用资源,要养成良好的习惯用完就关掉
        input1.close();

    }
}

结果:字符串后面的空白,被认为是结束符在这里插入图片描述

2.2、nextLine()使用

package com.Macong.scanner;

import java.util.Scanner;

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

        System.out.println("使用nextLine()接收数据:");

        if(scanner.hasNextLine())
        {
            String str = scanner.nextLine();
            System.out.println("输入的数据为:" + str);
        }
         //凡是属于IO流得类。如果不会关闭会一直占用资源,要养成良好的习惯用完就关掉
        scanner.close();
    }

}

结果:可以接受空白,结束符为回车键
在这里插入图片描述

2.3、nextInt和nextFloat区别

package com.Macong.scanner;

import java.util.Scanner;

public class Demo03 {
    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 if(scanner.hasNextFloat()) {
            f = scanner.nextFloat();
            System.out.println("输入浮点数:" + f);
        } else {
            System.out.println("输入有误,请输入浮点数或者整数");
        }
        scanner.close();
    }
}

2.4、nextInt (),多个数字求平均,非数字结束输入。

我们可以输入多个数字,并求总和与平均数,每输入一个数字回车确认,通过输入非数字来结束输入并输出执行结果。

//-----------------------------------------------------------------
package com.Macong.scanner;

import java.util.Scanner;

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


        int a = 0;//求和
        int b = 0;//计算有多少个数
        int c = 0;//接受数据
        System.out.println("请输入数据;");
        //通过循环判断是否还有输入,并在里面每一次进行求和统计
        while(scanner.hasNextInt())
         {
            c = scanner.nextInt();
            b++;
            a += c;
        }
        System.out.println("总和为:" + a);
        System.out.println("输入的数平均数为:" + (a / b));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值