Java - Scanner类

Scanner类

scanner 是 Java 中的一个类。类是一个构造块,它定义了创建某些类型的对象(实例)时它们的属性和行为。在面向对象编程(OOP)中,类可以视为创建对象的模板或蓝图,

Scanner 类属于 java.util 包,被设计来解析原始类型和字符串的文本。它是一个类,因为它定义了如何创建扫描器对象以及这些对象将具备的功能。例如,一个Scanner对象可以读取文本输入流中的数据,解析它,并将其转换为不同类型的值。

创建Scanner对象:

Scanner myScanner = new Scanner(System.in);
  1. myScanner 是一个变量名,可更改.
  2. new 关键字用于创建一个类的新实例,也就是创建一个对象。
  3. System.in 是传递给Scanner 构造函数的参数表示这个 Scanner 对象将从标准输入流(通常是键盘输入)读取数据。

语句的含义为

  • 声明一个类型为Scanner 的变量名为myScanner。
  • 使用new关键字创建一个Scanner类的新实例。
  • 将这个新创建的Scnner对象的引用赋值给变量myScanner

这样,可以通过变量 myScanner 来调用 Scanner 对象的方法了。例如,使用myScanner.nextInt()来读取一个整数类型的输入。

读取不同类型的输入:

nextInt() : 读取一个int类型的值。

nextDouble() : 读取一个double类型的值。

nextLine() : 读取一行文本,直到换行符。

next() : 读取下一个由分隔符(通常是空格)隔开的字符串

使用分隔符:

Scanner默认使用空白符(空格、制表符、换行符等)作为分隔符来分割文本。你可以使用 useDelimiter(String pattern)方法来改变分隔符。

循环读取:

可以使用hasNext()和其它hasNextXxx()(例如hasNextInt()、hasNextDouble()等)在循环中检查是否还有更多的输入可读。

关闭Scanner:

当不再需要Scanner对象时,应该调用它的close()方法以释放与之相关联的资源,尤其是当它是从文件或网络输入流创建时

一个简单的使用Scanner类的例子:

import java.util.Scanner;
public class hello{public static void main(String[] args){Scanner scanner=new Scanner(System.in);System.out.print("Enter your name:");String name=scanner.nextLine();System.out.print("Enter your age:");int age=scanner.nextInt();scanner.nextLine(); //清除缓冲区的换行符System.out.print("Enter your favorite quote:");String quote=scanner.nextLine();System.out.println("Hello"+name+"! You are "+age+" years old.");System.out.println("Your favorite quote is: \""+quote+"\"");scanner.close();    //关闭scanner}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/14668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【嵌入式软件工程师面经】Socket,TCP,HTTP之间的区别

目录: 目录 目录: 一、Socket原理与TCP/IP协议 1.1 Socket概念: 1.2 建立Socket连接: 1.3 SOCKET连接与TCP/IP连接 二、HTTP连接: 2.1 HTTP原理 三、三者的区别和联系 前些天发现了一个巨牛的人工智能学习网站&#xf…

markdown 文件渲染工具推荐 obsidian publish

背景 Markdown 是一种轻量级的标记语言,最开始使用它是觉得码字非常方便,从一开始的 word 排版到 markdown ,还不太不习惯,用了 obsidian把一些文字发在网上后,才逐渐发现他的厉害之处。 让人更加专注于内容本身&…

转行java浅谈就业前景

Java市场环境 国内的一线、二线和三线城市都有着不同的就业环境: 一线城市(如北京、上海、广州、深圳): 一线城市通常拥有最多的高科技公司和互联网企业总部,因此在这些城市,Java开发者通常有更多的就业…

[leetcode]字符串消除连续出现3次及以上的字符

#include <iostream> #include <string> using namespace std;void del(string &s) {int i0,j0;while(i<s.size()){ji;while(j<s.size() && s[j]s[i]){j;}if(j-i>3){s.erase(i,j-i);//消除重复的i0;}elsei;} }

C语言 浮点数 打印的方法

一、方式1 在C语言中&#xff0c;浮点数&#xff08;通常包括 float 和 double 类型&#xff09;的打印是通过标准库中的 printf 函数完成的。为了正确地打印浮点数&#xff0c;需要使用格式说明符来指定如何格式化输出。 #include <stdio.h> int main(void) { floa…

体量小但增速快,国内OTA平台与国际巨头差在哪?

5月3日&#xff0c;Booking、Expedia等国际OTA平台相继发布2024年第一季度财报。5月21日&#xff0c;携程发布2024年第一季度财报。至此&#xff0c;国内外主要OTA平台一季度成绩单均已披露。 受益于全球旅游市场复苏&#xff0c;三家OTA平台一季度营收同比均正向增长。增长之…

03-ArcGIS For JavaScript结合ThreeJS功能

ArcGIS For JavaScript结合ThreeJS功能 概述three.js中功能实现externalRenderers&#xff08;4.28及以下版本&#xff09;RenderNode&#xff08;4.29版本&#xff09; 概述 ArcGIS For Javacript提供了一些对象可以支持加载webgl上下文信息&#xff0c;这里包括webgl编程的代…

基于jeecgboot-vue3的Flowable增加流程支持组件与element-plus组件导入支持

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、package.json文件需要增加相关流程组件&#xff0c;如下 "dependencies": {"element-plus/icons-vue": "^2.3.1","highlightjs/vue-plugin":…

蔬菜水果店做配送分销小程序的作用是什么

蔬菜水果是人们生活必需&#xff0c;传统为线下市场、超市、路边小摊等场景购买&#xff0c;如今快节奏时代&#xff0c;用户需要更快完成消费、商家也需要摆脱竞争获客转化以及提升自己的运营能力。 蔬菜水果隔三岔五或每天都会购买&#xff0c;老客粘性较高&#xff0c;还需…

文字生成图像内容解决方案,享受创作的乐趣

企业对于内容创新和视觉呈现的需求日益增强&#xff0c;美摄科技凭借其卓越的技术实力&#xff0c;推出了一款面向企业的文字生成图像内容解决方案。通过该方案&#xff0c;企业能够轻松将文字内容转化为高质量的图像&#xff0c;实现内容创作的全新突破。 一、车机语音交互&a…

【漏洞复现】懒人网址导航页 search.html SQL注入漏洞

0x01 产品简介 赖人网址导航系统是一种智能化的网址导航平台&#xff0c;旨在帮助用户快速找到所需的网址和资源。该系统提供了智能化的网址搜索和推荐功能&#xff0c;能够根据用户的搜索习惯和偏好推荐相关的网址和资源。同时&#xff0c;系统还提供了网址分类、网址收藏和网…

Java-----Stream

前言: Stream流是Java 8引入的功能&#xff0c;用于高效处理数据集合。它提供了丰富的操作方法&#xff0c;如过滤、映射、排序等&#xff0c;以简洁的方式处理数据。Stream流具有流式操作、懒执行和内部迭代的特点&#xff0c;能够简化代码并提高可读性。在接下来的文章中&am…

高仿百度网页(附带源码)

高仿百度网页 效果图部分源码及素材领取源码下期更新预报 效果图 部分源码及素材 <script language"javascript">function show_date_time() {window.setTimeout("show_date_time()", 1000);BirthDay new Date("1/20/2023 16:52:21");//…

OpenMV学习笔记1——IDE安装与起步

目录 一、OpenMV IDE下载 二、OpenMV界面 三、Hello World&#xff01; 四、将代码烧录到OpenMV实现脱机运行 五、插SD卡&#xff08;为什么买的时候没送&#xff1f;&#xff09; 一、OpenMV IDE下载 浏览器搜索OpenMV官网&#xff0c;进入后点击“立即下载”&#xff0…

nodejs实现生成加密zip压缩包,封装成一个vite插件

实现生成加密zip压缩包的nodejs脚本 pnpm i -D archiver archiver-zip-encryptedconst { cwd } require("node:process"); const path require("path"); const fs require("fs-extra"); const archiver require("archiver");// 检…

C++进阶:C++11(列表初始化、右值引用与移动构造移动赋值、可变参数模版...Args、lambda表达式、function包装器)

C进阶&#xff1a;C11(列表初始化、右值引用与移动构造移动赋值、可变参数模版…Args、lambda表达式、function包装器) 今天接着进行语法方面知识点的讲解 文章目录 1.统一的列表初始化1.1&#xff5b;&#xff5d;初始化1.2 initializer_listpair的补充 2.声明相关关键字2.1a…

python实现对应分析的随笔记

文档来源&#xff1a; Correspondence analysis 1 对应分析 参考&#xff1a; SPSS&#xff08;十二&#xff09;SPSS对应分析&#xff08;图文数据集&#xff09;案例6&#xff1a;SPSS–对应分析10 对应分析 对应分析的实质&#xff08;理论很复杂&#xff0c;但是结果很明…

os.path 提供用于处理文件路径和文件的系统函数

在Python中&#xff0c;os.path模块提供了一系列用于处理文件路径和文件的系统函数。 获取文件路径信息 os.path.abspath(): 获取文件的绝对路径。os.path.dirname(): 获取文件路径的目录名。os.path.basename(): 获取文件路径的文件名。os.path.split(): 分割路径为目录和文件…

创新指南|利用电商产品视频进行渠道营销的最佳策略,不断提升销售额

无论企业的利基市场如何&#xff0c;电商产品视频都已被证明是非常可靠的资产&#xff0c;可以让目标受众了解您所提供的产品——关键功能、展示重要的差异化优势甚至改变大多数营销活动的游戏规则。阅读本文&#xff0c;全面了解电商产品视频如何融入营销推广&#xff0c;以最…

基于python向量机算法的数据分析与预测

3.1 数据来源信息 该数据集来源于Kaggle网站&#xff0c;数据集中包含了罗平菜籽油的销售数据&#xff0c;每行数据对应一条记录&#xff0c;记录了罗平菜籽油销售数据。其中&#xff0c;菜籽产量、菜籽价格和菜籽油价格是数值型数据&#xff0c;共2486条数据。 通过读取Exce…