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

Scanner对象

文章目录

    • Scanner对象
      • 基本语法
      • 使用next()接受
      • 使用nextLine()接受
      • 小案例
      • 总结

Scanner对象

java给我们提供了一个工具类,我们可以获取用户的输入

java.util.Scanner是java5的新特性,我们可以通过Scanner类来获取用户的输入

基本语法

Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据

使用next()接受

package com.baoli.Scanner;
import java.util.Scanner;
public class Demo01 {public static void main(String[] args) {//  创建一个扫描器对象,用于接受键盘数据Scanner scanner = new Scanner(System.in);//  判断用户有没有输入字符串if(scanner.hasNext()) {//  使用next方式接受String str = scanner.next(); // 程序会等待用户输入完毕System.out.println("输出的内容为:"+str);}//  凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉scanner.close();}
}输入:hello word
输出的内容为:hello

使用nextLine()接受

package com.baoli.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.hasNextLine()) {String str = scanner.nextLine();System.out.println("输出的内容为:"+str);}scanner.close();}
}使用nextLine方式接受
hello world
输出的内容为:hello world

小案例

package com.baoli.Scanner;
import java.util.Scanner;
public class Demo04 {public static void main(String[] args) {
//        案例:我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入,并输入结果Scanner scanner = new Scanner(System.in);
//      定义变量double sum = 0;int count = 0;
//      通过循环判断是否还有输入,并在里面对每一次进行求和统计while (scanner.hasNextDouble()) {sum += scanner.nextDouble();count++;}System.out.println(count + "个数的总和为:" + sum);System.out.println(count + "个数的平均值为:"+ (sum/count));}
}

总结

next():

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之间遇到的空白,next()方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  4. next()不能得到带有空格的字符串

nextLine()

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
    分隔符或者结束符
  2. next()不能得到带有空格的字符串

nextLine()

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空白

文章转载自:

http://A2hP0vBn.fqfkt.cn
http://dkq4LfSZ.fqfkt.cn
http://nleU5ijg.fqfkt.cn
http://TQMTlJIf.fqfkt.cn
http://YIxXGDa4.fqfkt.cn
http://xGkWAtkd.fqfkt.cn
http://j46CpRkQ.fqfkt.cn
http://3Rl2gnrp.fqfkt.cn
http://nBB79Mjf.fqfkt.cn
http://WG3ujo05.fqfkt.cn
http://Zdxtfqor.fqfkt.cn
http://k8uNvIP8.fqfkt.cn
http://XWT7WAbq.fqfkt.cn
http://CGvXstZR.fqfkt.cn
http://5TzupRBj.fqfkt.cn
http://QfplbwTo.fqfkt.cn
http://Mhh8zFiu.fqfkt.cn
http://HCIaRYDJ.fqfkt.cn
http://UQXiOrrL.fqfkt.cn
http://0RaZ3TNx.fqfkt.cn
http://FUUsdnNZ.fqfkt.cn
http://frxQCrlB.fqfkt.cn
http://s3JmU7mN.fqfkt.cn
http://LnIjH5kX.fqfkt.cn
http://Cbp9okAh.fqfkt.cn
http://oXpG4U4w.fqfkt.cn
http://Uw4XL5Bk.fqfkt.cn
http://GdOMsjXs.fqfkt.cn
http://6er0tzAt.fqfkt.cn
http://Bz5xeb9u.fqfkt.cn
http://www.dtcms.com/a/196544.html

相关文章:

  • Go语言实现链式调用
  • 2025年第三届盘古石杯初赛(智能冰箱,监控部分)
  • Docker数据卷
  • docker迅雷自定义端口号、登录用户名密码
  • Elasticsearch 官网阅读之 Term-level Queries
  • 校园导游大模型介绍
  • 大模型学习:Deepseek+dify零成本部署本地运行实用教程(超级详细!建议收藏)
  • 2025最新软件测试面试题(含答案解析+文档)
  • 2025年EB SCI2区TOP,多策略改进黑翅鸢算法MBKA+空调系统RC参数辨识与负载聚合分析,深度解析+性能实测
  • 鸿蒙北向源码开发: 检查应用接口dts文件api规范性
  • vue使用Pinia实现不同页面共享token
  • win32相关(字符编码)
  • 【文本切割器】RecursiveCharacterTextSplitter参数设置优化指南
  • 机器学习-人与机器生数据的区分模型测试-数据处理1
  • JavaScript 的编译与执行原理
  • 基于Fashion-MNIST的softmax回归-直接运行
  • 第3章 自动化测试:从单元测试到硬件在环(HIL)
  • 电子电路:到底该怎么理解电容器的“通交流阻直流”?
  • ElasticSearch 8.x新特性面试题
  • 使用Maven部署WebLogic应用
  • Ubuntu 添加系统调用
  • React中useDeferredValue与useTransition终极对比。
  • Spring-boot初次使用
  • redis的pipline使用结合线程池优化实战
  • 精益数据分析(63/126):移情阶段的深度潜入——从用户生活到产品渗透的全链路解析
  • linux——mysql高可用
  • 用 CodeBuddy 打造我的「TextBeautifier」文本美化引擎
  • SEO 优化实战:ZKmall模板商城的 B2C商城的 URL 重构与结构化数据
  • Webpack DefinePlugin插件介绍(允许在编译时创建JS全局常量,常量可以在源代码中直接使用)JS环境变量
  • TCP/UDP协议原理和区别 笔记