常见类---Scanner类

本文详细介绍 Java 中 Scanner 类的使用方法,包括如何创建键盘录入对象、常见方法及其异常处理,并探讨了 Scanner 类在处理不同类型数据时可能遇到的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Scanner类的概述

  1. Scanner类:简单的文本扫描器,一般情况用于键盘录入
  2. Scanner类:java.util包下,需要导包
  3. 创建键盘录入对象:
    Scanner sc = new Scanner(System.in);
    System类中(常用类的一种),System 类包含一些有用的类字段和方法,它不能被实例化
    public static final InputStream in()
    System.in = InputStream is ; ,标准输入流= 字节输入流
import java.util.Scanner;

public class Demo1 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");

        //接收数据
        int a = sc.nextInt();
        System.out.println("这个数是:"+a);
    }
}

结果:
请输入一个整数:
10
这个数是:10

二.Scanner类的常见方法

  1. public boolean hasNextxxx():返回的是一个布尔类型,当前扫描器是否含有xxx这个类型的标记
  2. public xxx nextxxx():获取这个标记值
    常见异常:InputMismatchExcepition:你输入的和要的数据类型不一致
public class Demo2 {
    public static void main(String[] args) {
        //创建键盘录入对象
                Scanner sc = new Scanner(System.in);

                System.out.println("请输入一个整数:");

                //判断当前扫描器是否含有xxx这个类型的标记
                if(sc.hasNextInt()){
                    int a = sc.nextInt();
                    System.out.println("这个数是:"+a);
                }else{
                    System.out.println("输入错误");
                }
    }
}

结果:
请输入一个整数:
10.5
输入错误

三.Scanner类的一个问题

public int nextInt():接收一个int类型的数据
public String nextLine():接收一个String类型的数据
问题:
先接收了一个int类型的数据,然后再接收String类型,发现String类型的数据没有接收到
原因:
换行符的问题,在接收数据完成然后要手动的回车,出现了这个问题
解决:
在接收字符串之前,需要重新键盘录入对象(String s = 对象名.nextLine);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值