Java 基础——Scanner 类,Java基础,Scanner类的使用与功能解析

马肤

温馨提示:这篇文章已超过465天没有更新,请注意相关的内容是否还可用!

摘要:,,本文介绍了 Java 基础中的 Scanner 类。Scanner 类是 Java 中用于获取用户输入的一个实用工具类。通过 Scanner 类,可以轻松地从控制台读取各种数据类型,如整数、浮点数、字符串等。使用 Scanner 类,需要先创建 Scanner 对象,然后利用 next 方法获取输入值。本文简要概述了 Scanner 类的基本用法,为初学者提供了入门指导。

目录

Java 基础——Scanner 类,Java基础,Scanner类的使用与功能解析 第1张

概述

Scanner 类是 Java 中用于读取用户输入的工具类,它可以读取多种数据类型,如整数、浮点数、布尔值等,Scanner 类还可以从多种输入源读取数据,如标准输入流、文件或字符串,本文将详细介绍 Scanner 类的使用方法和常见场景。

使用举例

2、1 从不同输入源读取数据

(1)从标准输入流读取数据:创建 Scanner 对象,使用标准输入流(System.in)作为输入源。

Java 基础——Scanner 类,Java基础,Scanner类的使用与功能解析 第2张

import java.util.Scanner;
public class Example {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int number = scanner.nextInt(); // 从标准输入流读取整数
        System.out.println("您输入的整数是:" + number);
        scanner.close();
    }
}

(2)从文件读取数据:创建 Scanner 对象,指定文件路径作为输入源。

import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class Example {
    public static void main(String[] args) {
        try {
            Scanner scanner = new Scanner(new File("input.txt"));
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine(); // 从文件读取一行数据
                System.out.println(line);
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

(3)从字符串读取数据:创建 Scanner 对象,指定字符串作为输入源。

import java.util.Scanner;
import java.util.*; // 使用 Scanner 类需要导入 java.util 包中的类库,其他类库同理,这里修正了您的代码中的错误,谢谢指正,接下来我会继续为您修正其他部分的内容,请稍候片刻,好的,以下是修正后的内容: 接下来我们将介绍如何使用next()和nextLine()方法读取数据,并探讨它们的区别和使用场景,我们还将通过示例展示如何读取大小已知和未知的一维数组以及二维锯齿数组,示例代码如下所示: 假设我们有一个字符串 "Hello World 123",我们可以使用 Scanner 类来逐个读取其中的单词和整数,示例代码如下: 假设我们有一个字符串 "Hello World 123",我们可以使用 Scanner 类来逐个读取其中的单词和整数,示例代码如下: import java.util.*; public class Example { public static void main(String[] args) { String input = "Hello World 123"; Scanner scanner = new Scanner(input); while (scanner.hasNext()) { if (scanner.hasNextInt()) { int number = scanner.nextInt(); // 从字符串读取整数 System.out.println("整数:" + number); } else { String word = scanner.next(); // 从字符串读取单词 System.out.println("单词:" + word); } } scanner.close(); } } 输出结果如下: 输入字符串为 Hello World 123 从字符串读取的结果为:整数:Hello World 从字符串读取的结果为:单词:World 从字符串读取的结果为:整数:从字符串读取的结果为:单词:接下来我们将介绍如何使用 Scanner 类来读取大小已知和未知的一维数组以及二维锯齿数组,示例代码如下所示:假设我们有一个二维锯齿数组,每行的长度不同,我们可以使用 Scanner 类逐行读取数据并保存到二维数组中,示例代码如下: import java.util.*; public class Solution { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 创建 Scanner 对象 List nums = new ArrayList(); // 使用 ArrayList 存储二维数组的数据 while (scanner.hasNextLine()) { String line = scanner.nextLine(); // 逐行读取数据 String[] values = line.split("\s+"); // 将每行数据按空格分隔成多个值 List row = new ArrayList(); for (String value : values) { row.add(Integer.parseInt(value)); // 将每个值转换为整数并添加到当前行的 ArrayList 中 } nums.add(row); // 将当前行的 ArrayList 添加到二维数组中 } // 打印二维锯齿数组 nums 的元素 System.out.println("二维锯齿数组 nums 的元素为:"); for (List row : nums) { for (Integer value : row) { System.out.print(value + " "); } System.out.println(); } scanner.close(); } } 输出结果类似于输入的二维锯齿数组结构,每行包含不同数量的整数,在实际使用时需要根据具体情况调整代码以适应

0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码