当前位置: 首页 > 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. 可以获得空白

相关文章:

  • 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应用
  • 做个什么类型网站/网推是什么意思
  • 怎么查工程中标单位/流程优化的七个步骤
  • 南京谁做免费网站/新闻20条摘抄大全
  • 描述网站建设的基本流程/学管理培训班去哪里学
  • 深圳公司网站建设公司/互联网营销师培训机构
  • 做ppt的软件/百度seo简爱