当前位置: 首页 > news >正文

Scanner类用法(学习笔记)

Scanner类用法(学习笔记,后续会补充)

1.next()用法

package com.yushifu.scanner;
import java.util.Scanner;//util java工具包
//Scanner类(获取用户的输入)  Scanner s = new Scanner(System.in);
//通过Scanner类的next()与nextLine()方法获取输入的字符串
//在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
public class Demo01 {public static void main(String[] args) {//创建一个扫描器对象,用于接收键盘数据Scanner scanner = new Scanner(System.in);System.out.println("使用next()方法接收:");//判断用户有没有输入字符串if(scanner.hasNext()){//如果用户还有输入的话则执行String str = scanner.next();//使用next()方式接收System.out.println("输入的内容为:"+str);}//注意!凡是属于IO流的类如果不关闭会一只占用资源,要养成习惯,用完就关掉scanner.close();}
}

在这里插入图片描述

2.nextLine()用法

package com.yushifu.scanner;import java.util.Scanner;public class Demo02 {public static void main(String[] args) {//从键盘接收数据Scanner scanner = new Scanner(System.in);System.out.println("使用nextLine方式接收:");if (scanner.hasNext()){String str = scanner.nextLine();System.out.println("输出的内容为"+str);}scanner.close();}
}

在这里插入图片描述

3.next()与nextLine用法的区别

  • (1)next()一定要读到用户输入有效字符后才会结束。
  • (2)next()会将输入有效字符之前遇到的空白去掉。
    在这里插入图片描述
  • (3)只有输入有效字符后才将其后面输入的空白作为结束符,即空白后不会输出。
  • (4)next()不能得到带有空格的字符串
    在这里插入图片描述
  • (5)nextLine()则以回车键(Enter)作为结束符,即nextLine()方法会接收回车之前键盘输入的所有字符。
    在这里插入图片描述
    所以在平时使用中,nextLine()方法是使用的比较多的。

4.hasNext()

package com.yushifu.scanner;import java.util.Scanner;public class Demo03 {public static void main(String[] args) {//使用scanner从键盘接收数据Scanner scanner = new Scanner(System.in);System.out.println("请您输入数字:");//使用hasNexT判断输入数据的类型if(scanner.hasNextInt()){//如果输入的是整数的话则执行语句体int m = scanner.nextInt();System.out.println("您输入的整数为:"+m);}else if(scanner.hasNextFloat()||scanner.hasNextDouble()){//如果是float或者double,则执行语句体System.out.println("您输入的数字类型为浮点数");}else{System.out.println("您输入的数据类型不是int、float、double类型。");}}
}

运行结果如下图所示:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

当然hasNext()还有很多如下图所示其他的方法,有兴趣的读者朋友可以自行尝试。
在这里插入图片描述


Practice:输入多个数字,求其总和与平均数(平均数要求保留两位小数),每输入一个数字使用回车确认,通过输入非数字类型来结束输入并输出计算结果。

package com.yushifu.scanner;
//Practice:输入多个数字,求其总和与平均数(平均数保留两位小数),
//每输入一个数字使用回车确认,通过输入非数字类型来结束输入并输出计算结果。
import java.util.Scanner;
/*** @author yushifu*/
public class Demo04 {public static void main(String[] args) {//使用scanner接收键盘输入的数据Scanner scanner = new Scanner(System.in);System.out.println("请输入数据,输入非数字类型数据以结束.");//定义变量sum用于接收数字之和double sum = 0;//定义变量n计算输入数字的个数int n = 0;//定义变量mean用于接收输入数字的平均数double mean = 0;//通过循环判断是否还有输入,并且要对每一次输入进行求和//因为for循环多用于已知循环次数的情况下,所以我们使用while循环(未知循环次数时使用的较多)while (scanner.hasNextDouble()){double m = scanner.nextDouble();n++;//输入数字数量自增sum+=m;//输入数字累加和System.out.println("您输入了第"+n+"个数据,当前的和为"+sum);}mean = sum/n;//使用String format()方法设置double类型小数点后位数String formatDoubleMean = String.format("%.2f",mean);//这里博主后续会单独出一期java中double如何设置输出数据小数点位数的文章System.out.println("输入数字的个数为:"+n);System.out.println("输入数字的和为:"+sum);System.out.println("输入数字的平均数为:"+formatDoubleMean);//输出设置过小数点位数的平均数//养成使用IO流之后随手关闭的习惯scanner.close();}}

运行效果图:
在这里插入图片描述
仅供学习使用!

相关文章:

Scanner类用法(学习笔记)

Scanner类用法(学习笔记,后续会补充) 1.next()用法 package com.yushifu.scanner; import java.util.Scanner;//util java工具包 //Scanner类(获取用户的输入) Scanner s new Scanner&#…...

idea2021.1.3版本双击启动,没反应

今天打开电脑,点开idea,界面悬在这里,几秒然后就是没了。然后就一直打不开idea了。 然后又是卸载重装,又是删除缓存文件。我把电脑关于idea的文件全都删除了 。重新安装后(首次运行倒是可以打开,但是关掉id…...

MC-4/11/01/400 ELAU 软件允许用户完全访问相机设置

MC-4/11/01/400 ELAU 软件允许用户完全访问相机设置 一个完整的Sentinel模具保护解决方案包括一到四台冲击式摄像机、专用红外LED照明和镜头、Sentinel软件以及所有与模压机连接的必要互连组件。摄像机支架基于磁性,可快速、安全、灵活地部署。此外,一个…...

Error contacting service. It is probably not running.问题解决

一 问题描述 Error contacting service. It is probably not running. 查看zookeeper 目录下数据目录下的zookeeper.out 如果你没找到这个目录那么 OK 你的问题就是 zoo.cfg 文件中数据目录设置错误 zookeeper.out下报错 ERROR [main:QuorumPeerMain86] - Invalid config,…...

01_网络编程_传统IO

网络编程 1.什么是网络编程 在网络通信协议下,不同计算机上运行的程序,进行的数据传输。 如果想把一个计算的结果,或者是电脑上的文件通过网络传递给你的朋友,就需要用到网络编程。 在实际生活中,网络通信无处不在…...

vue 检查指定路由是否存在

今天路由跳转报错了 RangeError: Maximum call stack size exceeded 但显然 我的代码只有一个简单的路由跳转 并没有很大的的堆栈数据操作 所以 我就联想到了 会不会是因为路由不存在 我们可以通过 console.log(this.$router.options.routes)输出整个路由对象类看一下 或者…...

自动化办公更简单了:新版python-office,有哪些更新?

#职场经验谈# 大家好,这里是程序员晚枫,小破站/小红薯都叫这个名。 去年4月开源了一个Python自动化办公项目:python-office,GitHub和Gitee都能看到。1行代码实现复杂的自动化办公任务,帮助不懂代码的小白,…...

windows flask服务卡死的问题

windows flask服务卡死的问题 最近的工作中,需要用python写一个flask服务,供C端调用,但是偶尔服务会卡住,只接收数据但不进行处理,不过CtrlC后又可以继续运行。 查看了网上的一些解决方法,但似乎都没有什…...

项目上线部署--》服务器部署流程(一)

目录 🌟准备工作 服务器购买 域名购买 域名解析(配置 DNS) 🌟服务器环境搭建 配置服务器 安装 CentOS 开发人员相关包 ​编辑 配置免密登陆 🌟写在最后 🌟准备工作 服务器购买 国内服务器&#x…...

Python:函数调用的实参

相关阅读 Python专栏https://blog.csdn.net/weixin_45791458/category_12403403.html 调用就是附带可能为空的一系列参数来执行一个可调用对象 (例如函数),它的语法的BNF范式如下所示,有关BNF范式的规则,可以参考之前…...

174. 地下城游戏 -- 动规

174. 地下城游戏 class CalculateMinimumHP:"""174. 地下城游戏https://leetcode.cn/problems/dungeon-game/"""def solution(self, dungeon: List[List[int]]) -> int:# 我们想计算左上⻆到右下⻆所需的最⼩⽣命值m, n len(dungeon), len(d…...

js实现websocket服务端和客户端

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

qt qml RadioButton如何设置字体颜色,style提示找不到怎么办?

qt QML中设置RadioButton的字体颜色,可以使用RadioButton的label属性来设置文本的样式。下面是一个示例代码: import QtQuick 2.6 import QtQuick.Controls 2.2 import QtQuick.Controls 1.4 as Controls1_4 import QtQuick.Controls.Styles 1.4 import…...

Docker 的使用

一、Docker 的作用和优势 软件集装箱化平台,可让开发者构建应用程序时,将它与环境一起打包到一个容器中,发布应用到任意平台中。 能在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用, 如&am…...

【无公网IP内网穿透】Java支付宝沙箱环境支付,SDK接口远程调试

目录 1.测试环境 2.本地配置 3. 内网穿透 3.1 下载安装cpolar内网穿透 3.2 创建隧道 4. 测试公网访问 5. 配置固定二级子域名 5.1 保留一个二级子域名 5.2 配置二级子域名 6. 使用固定二级子域名进行访问 1.测试环境 MavenSpring bootJdk 1.8 2.本地配置 获取支付…...

axios 用formData的方式请求数据

需求:使用axios库用来做http数据传输。 问题:传递数据的时候不是直接通过json的方式来传输的数据,二是通过formData的方式 解决: axios 请求头设置,Content-Type "Content-Type": "application/x-w…...

Mapbox加载arcgis的底图

成果图 这种底图基本上都是按照raster来加载的,主要就是知道地址了,拼参数 具体参数请参考官网 https://developers.arcgis.com/rest/services-reference/enterprise/export-map.htm 源码 我的服务列表是这样的 http://XXXX:XXXX/arcgis/rest/services/…...

(20)线程安全问题:Lock,双锁问题,Monitor,死锁

一、Lock 1、用多线程给变量自增&#xff0c;10000个线程自增 List<Task> tasks new List<Task>();int AsyncNum 0;for (int i 0; i < 10000; i){tasks.Add(Task.Run(() >{AsyncNum;}));}Task.WaitAll(tasks.ToArray());Console.WriteLine($"AsyncNu…...

医院如何实现安全又稳定的跨网文件数据交换呢?

随着医疗信息化的发展&#xff0c;医院之间需要频繁地进行文件数据交换&#xff0c;以实现诊疗、科研、管理等方面的协同和共享。然而&#xff0c;由于医院网络环境的复杂性和敏感性&#xff0c;跨网文件数据交换面临着安全性和稳定性的双重挑战。如何在保证文件数据不被泄露、…...

关于老项目从JDK8升级到JDK17所需要注意的细节

文章目录 ☀️1.关于老项目从JDK8升级到JDK17所需要注意的细节&#x1f338;1.1.更新JDK&#x1f338;1.2.修改Idea中的JDK版本&#x1f338;1.3.关于修改过程中遇到的异常&#x1f338;1.4.IDEA工具栏操作Maven正常&#xff0c;但使用mvn命令运行就报错 ☀️1.关于老项目从JDK…...

《C++ primer》练习3.43-3.45: 打印二维数组的元素

文章目录 1. 使用范围for循环2. 使用普通for循环2.1 使用指针2.2 使用数组下标 类型别名的简化 本文来自于《C primer》的练习3.43-3.45&#xff0c;觉得多维数组的遍历有不同的实现方式&#xff0c;于是记录一下。写的可能没有按题目的顺序来。题目大概含义是定义了一个二维数…...

使用电力系统稳定器 (PSS) 和静态 VAR 补偿器 (SVC) 提高瞬态稳定性(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

开源项目-SeaTunnel-UI数据集成系统

哈喽,大家好,今天给大家带来一个开源项目-SeaTunnel-UI数据集成系统 系统主要有任务配置,任务实例,数据源,虚拟表,用户管理等功能 登录 数据源 mysql数据源配置参数说明 kafka参数配置 mysqlcdc配置参数说明 虚拟表...

百度SEO优化策略与经验分享(提升百度排名的8大步骤)

百度关键词优化策略介绍&#xff1a;蘑菇号https://www.mooogu.cn/ 百度搜索引擎优化&#xff0c;简称为百度SEO&#xff0c;是一种通过优化网站结构和内容&#xff0c;提高网站在百度搜索引擎中的排名&#xff0c;从而获得更多有价值的流量和销售机会的行业术语。百度SEO的核…...

【深度学习】- NLP系列文章之 1.文本表示以及mlp来处理分类问题

系列文章目录 1. 文本分类与词嵌入表示&#xff0c;mlp来处理分类问题 2. RNN、LSTM、GRU三种方式处理文本分类问题 3. 评论情绪分类 还是得开个坑&#xff0c;最近搞论文&#xff0c;使用lstm做的ssd的cache prefetching&#xff0c;意味着我不能再划水了。 文章目录 系列文章…...

力扣236 补9.14

做不来&#xff0c;我做中等题基本上都是没有思路&#xff0c;这里需要先遍历祖先节点&#xff0c;那必然用先序遍历&#xff0c;这题还是官方题解容易理解&#xff0c;第二火的题解反而把我弄得脑袋昏昏的。 class Solution { TreeNode ans; public TreeNode lowestCommonAnce…...

一文搞定Postman(菜鸟必看)

什么是Postman&#xff1f; Postman是一个可扩展的 API 测试工具&#xff0c;可以快速集成到 CI/CD 管道中。它于 2012 年作为 Abhinav Asthana 的一个副项目启动&#xff0c;旨在简化测试和开发中的 API 工作流程。API 代表应用程序编程接口&#xff0c;它允许软件应用程序通…...

位图+布隆过滤器+海量数据并查集(它们都是哈希的应用)

一)位图: 首先计算一下存储一下10亿个整形数据&#xff0c;需要多大内存呢&#xff0c;多少个G呢&#xff1f; 2^3010亿&#xff0c;10亿个字节 byte kb mb gb 100000000个字节/1024/1024/10241G 所以10亿个字节就是1G&#xff0c;所以40亿个字节就是4G&#xff0c;也就是10个整…...

MYSQL:Select语句顺序

SELECT子句及其顺序整理表格&#xff1a; 子句 说明是否必须使用SELECT 要返回的列或表达式是FROM 从中检索数据的表仅在从表选择数据使用WHERE 行级过滤否GROUP BY 分组说明仅在按组计算聚…...

Pytest系列-数据驱动@pytest.mark.parametrize(7)

简介 unittest 和 pytest参数化对比&#xff1a; pytest与unittest的一个重要区别就是参数化&#xff0c;unittest框架使用的第三方库ddt来参数化的 而pytest框架&#xff1a; 前置/后置处理函数fixture&#xff0c;它有个参数params专门与request结合使用来传递参数&#x…...

做推文的网站/企业官网搭建

oracle 12C 自动化静默安装脚本 项目地址&#xff1a; github: https://github.com/spdir/oracle-single-install 下载安装脚本 wget https://raw.githubusercontent.com/spdir/oracle-single-install/master/oracle_install.sh && \ chmod x oracle_install.sh 脚本使…...

一般网站建设用什么样的代码/如何推广网店

常系数齐次线性递推 要干啥 已知\[f[n]\sum_{i1}^k C_if[n-i]\] 求\(f[n]\)的值&#xff0c;\(n\le 10^9,k\le 20000\)&#xff0c;答案取模。 暴力做法 如果复杂度\(O(nk)\)允许的话&#xff0c;显然是可以直接\(dp\)转移的。 当\(k\)很小的时候&#xff0c;转移写成矩阵形式&…...

网站诊断方案/学校seo推广培训班

Redhat Linux网卡及IP设置单网卡多IP例&#xff1a;将eht0 添加新地址 eth0:1拷贝/etc/sysconfig/network-scripts/ifcfg-eth0文件为ifcfg-eth0:1修改其中DEVICEeth0:1根据需要修改IP地址(IPADD)和掩码(NETMASK),可以删除NETWORK、BROADCAST、HWADDR重启网络服务#service netwo…...

口碑营销的策略技巧/seo是搜索引擎营销吗

yum -y install screen screen -S lnmp 记录session会话 ssh客户端中断再连接后 screen -r lnmp 恢复会话转载于:https://blog.51cto.com/kongdq/967746...

wordpress怎么连接空间/搜索词热度查询

我们知道一张色彩鲜艳的美照&#xff0c;看起来自然赏心悦目的&#xff0c;同样要是一张素描照&#xff0c;同样的效果看起来也是不错的。”那么问题来了&#xff0c;你可以使用一只铅笔和一张画纸来完成一张素描照&#xff0c;但这花费的时间也不在少数&#xff0c;而且你还得…...

安康网站定制厂家/鞋子软文推广300字

这篇文章主要介绍了关于php面向对象之类与实例化对象&#xff0c;有着一定的参考价值&#xff0c;现在分享给大家&#xff0c;有需要的朋友可以参考一下类声明[修饰符] class 类名{[属性][方法]}注意事项&#xff1a;1)类名遵循大写开头的驼峰命名规范2)花括号的开始、结束标记…...