一文带你掌握Java中Scanner类的使用

一文带你掌握Java中Scanner类的使用

Scanner类是Java中很常用的一个类,它可以读取用户在控制台上的输入数据。在处理用户输入数据的时候,使用Scanner类可以大大简化代码,并且提高开发效率。本文将详细介绍Scanner类的使用方法,包括Scanner类的创建、读取不同数据类型、异常处理等内容,希望能帮助Java初学者快速掌握Scanner类的应用。

创建Scanner对象

Java中使用Scanner类需要先创建Scanner对象。创建Scanner对象有两种方式:

从标准输入流中创建

从标准输入流中创建Scanner对象,即从控制台读取用户输入数据,需要通过System.in实现。

Scanner scanner = new Scanner(System.in);

从字符串中创建

除了从标准输入流中创建Scanner对象,还可以从字符串中创建Scanner对象。这在对于字符串的操作时非常有用。

String s = "this is a test string.";
Scanner scanner = new Scanner(s);

读取不同的数据类型

Scanner类可以读取不同数据类型的输入,在读取数据的时候需要根据实际类型进行相应的转换。

读取字符串

在读取字符串的时候,可以使用next()方法。这个方法会读取输入流中的下一个字符串,在遇到空格或者换行符时停止。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的名字:");
String name = scanner.next();
System.out.println("您好," + name);

读取整数

在读取整数的时候,可以使用nextInt()方法。这个方法会读取输入流中的下一个整数,并且返回int类型的结果。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的年龄:");
int age = scanner.nextInt();
System.out.println("您的年龄是:" + age);

读取浮点数

在读取浮点数的时候,可以使用nextFloat()和nextDouble()方法。这两个方法会分别读取输入流中的下一个单精度浮点数和双精度浮点数,并且返回对应的结果。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的身高:");
float height = scanner.nextFloat();
System.out.println("您的身高是:" + height + "m");

异常处理

在读取用户输入数据的时候,不可避免地会出现输入数据类型与代码预期不符的情况。比如,当代码需要读取整数类型数据时,但用户输入了一个字符串数据。处理这种异常情况可以使用try-catch语句块。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的年龄:");
try {
    int age = scanner.nextInt();
    System.out.println("您的年龄是:" + age);
} catch (InputMismatchException e) {
    System.out.println("输入的数据类型错误,请重新输入。");
}

示例演示

接下来我们来看一下一个完整的示例,通过Scanner类读取用户输入的学生信息并进行处理。

import java.util.Scanner;

public class Student {
    private String name;
    private int age;
    private float height;

    public Student(String name, int age, float height) {
        this.name = name;
        this.age = age;
        this.height = height;
    }

    public void display() {
        System.out.println("您输入的学生信息如下:");
        System.out.println("姓名:" + name);
        System.out.println("年龄:" + age);
        System.out.println("身高:" + height + "m");
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入学生姓名:");
        String name = scanner.next();
        System.out.print("请输入学生年龄:");
        int age = scanner.nextInt();
        System.out.print("请输入学生身高:");
        float height = scanner.nextFloat();

        Student student = new Student(name, age, height);
        student.display();
    }
}

以上代码中,我们首先创建了一个Student类,包含了学生的姓名、年龄、身高等信息。在main方法中,我们通过Scanner类读取用户输入的学生信息,并且创建一个Student对象,最后调用了display()方法,将学生信息输出到控制台上。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你掌握Java中Scanner类的使用 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 浅谈MyBatis通用Mapper实现原理

    浅谈MyBatis通用Mapper实现原理 简介 通用Mapper是一个MyBatis的插件,它通过对Mapper文件进行解析和编译,根据实体类的属性、注解和方法名,生成对应的SQL语句,从而进行数据库操作。使用通用Mapper可以省去编写大量重复的CRUD操作,提高开发效率。 实现原理 通用Mapper的实现原理主要分为三部分:Mapper接口解析、SQL…

    Java 2023年5月20日
    00
  • Java kafka如何实现自定义分区类和拦截器

    一、自定义分区 Kafka 提供了默认的分区策略,默认分区策略为DefaultPartitioner。当我们需要实现自定义分区策略时,需要继承Partitioner接口,并重写其中的方法。下面是实现自定义分区的步骤: 实现Partitioner接口 public class CustomPartitioner implements Partitioner {…

    Java 2023年5月20日
    00
  • springboot oauth2实现单点登录实例

    下面我将详细讲解如何使用Spring Boot OAuth2实现单点登录的完整攻略。主要分为以下几个步骤: 第一步:创建OAuth2授权服务器 在Spring Boot中实现OAuth2授权服务器需要通过添加spring-boot-starter-oauth2-server依赖来完成。具体实现步骤如下: 添加maven依赖 <dependency&gt…

    Java 2023年5月20日
    00
  • Springboot使用filter对response内容进行加密方式

    下面是“Springboot使用filter对response内容进行加密方式”的完整攻略: 一、添加依赖 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st…

    Java 2023年5月20日
    00
  • springBoot集成Elasticsearch 报错 Health check failed的解决

    下面是针对“springBoot集成Elasticsearch 报错 Health check failed的解决”的完整攻略: 问题背景 在使用SpringBoot集成Elasticsearch时,可能会遇到一些报错,其中之一就是“Health check failed”的报错。这个报错通常会出现在应用程序的启动过程中,导致无法正常启动应用程序。那么这个问…

    Java 2023年5月19日
    00
  • Hibernate命名策略详解

    Hibernate命名策略详解 Hibernate是一个Java持久化框架,可以将Java对象和关系型数据库中的数据进行映射。在使用Hibernate时,我们可以使用不同的命名策略来生成数据库表格名、列名、主键名等信息。本文将详细讲解Hibernate的命名策略,帮助读者了解不同的命名策略,并选择适合自己的命名策略。 命名策略分类 在Hibernate中,主…

    Java 2023年5月19日
    00
  • Maven 配置文件 生命周期 常用命令详解

    Maven 配置文件 Maven 是一款基于项目对象模型 (POM) 的构建工具,POM 是 Maven 工作的核心,其中包括了项目依赖、插件配置、构建目标等信息。Maven 配置文件主要分为以下两类: settings.xml settings.xml 文件是 Maven 的全局配置文件,位于 Maven 安装目录的 conf 目录下,主要包括了 Mave…

    Java 2023年5月20日
    00
  • js实现窗口全屏示例详解

    首先,实现网页全屏有两种方式:一种是使用原生JavaScript,另一种是使用第三方库。 使用原生JavaScript实现窗口全屏 function fullscreen() { var elem = document.documentElement; if (elem.requestFullscreen) { elem.requestFullscreen(…

    Java 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部