一文带你掌握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日

相关文章

  • 简单了解java类的初始化以及类的实例化

    简单了解Java类的初始化以及类的实例化 Java类的初始化 在Java中,类的初始化是指在类的第一次被使用时,JVM对其进行的一系列步骤。当JVM加载一个类时,它首先会进行初始化,这个过程包括以下几部分: 分配静态变量存储空间并初始化静态变量,如果静态变量有初始值,那么直接使用该值进行初始化;否则使用默认值进行初始化,例如整型会被初始化为0,布尔型会被初始…

    Java 2023年5月26日
    00
  • 解读java try catch 异常后还会继续执行吗

    当 Java 代码中出现异常时,程序默认会中止执行,如果希望程序继续执行下去,可以使用 try-catch 语句来捕捉异常并对其进行处理。 Java 中的 try-catch 语句的作用是:当某些代码可能会生成异常时,可以通过捕获异常并做出相应的处理,来避免程序因为异常中止。其中 try 语句块中包含可能会引起异常的代码,catch 语句块中对异常进行处理。…

    Java 2023年5月27日
    00
  • 2020年最新版Java面试题大全

    2020年最新版Java面试题大全 完整攻略 简介 Java 是非常热门的编程语言,许多公司招聘时也会优先考虑 Java 开发人员。而 Java 面试的难度也不容小觑,需要对 Java 语言及其相关技术有深入了解。本文将介绍一些主要的 Java 面试题,以及回答这些问题的攻略。 面试题 Q1:Java中的数据类型有哪些? Java 中的数据类型主要包括基本数…

    Java 2023年5月30日
    00
  • 猜你不知道Spring Boot的几种部署方式(小结)

    下面将为您详细介绍“猜你不知道SpringBoot的几种部署方式(小结)”这篇文章的完整攻略。 简介 在这篇文章中,我们将会介绍SpringBoot的几种部署方式,包括: 傻瓜式部署 War包部署 Jar包部署 我们将详细讲解每种部署方式的具体实现步骤以及使用场景,帮助读者更好地理解和应用SpringBoot的部署方式。 傻瓜式部署 傻瓜式部署是最简单的一种…

    Java 2023年5月15日
    00
  • java多线程模拟实现售票功能

    Java多线程模拟实现售票功能,主要涉及Java的并发编程和线程同步操作。以下是实现该功能的步骤: 步骤一:创建Ticket类及构造方法 public class Ticket { private int num; public Ticket(int num) { this.num = num; } public int getNum() { return …

    Java 2023年5月18日
    00
  • servlet实现文件上传、预览、下载、删除功能

    准备工作 首先,在编写servlet实现文件上传、预览、下载、删除功能之前,需要先进行准备工作,包括: 建立一个Web项目 引入相关的jar包,如commons-fileupload.jar、commons-io.jar等 编写一个用于上传文档的html页面 定义文件上传后保存的路径 上传文件 上传文件是整个功能的核心部分,下面是实现文件上传的步骤: 2.1…

    Java 2023年6月15日
    00
  • jsp实现简单图片验证码功能

    # JSP实现简单图片验证码功能攻略 为了保证用户输入的真实性和安全性,很多网站都会使用图片验证码来防止恶意程序和自动化工具对用户进行攻击。本攻略将为您介绍如何使用jsp实现简单的图片验证码功能。 前置条件: 本攻略假设您已经掌握了Java语言的基础,具备jsp编写基础。 攻略步骤 1. 在JSP页面上写出验证码的HTML代码 该代码可以放在你前台的注册页面…

    Java 2023年6月15日
    00
  • springboot打包如何忽略Test单元测试

    使用Maven插件 首先在pom.xml中使用Maven插件,添加如下代码段,其中,true表示不执行单元测试: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spri…

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