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

Java流程控制01:用户交互Scanner

本节教学视频链接:https://www.bilibili.com/video/BV12J41137hu?p=33&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5icon-default.png?t=N7T8https://www.bilibili.com/video/BV12J41137hu?p=33&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5

Scanner 类用于扫描输入文本从字符串中提取数据,包括整数、浮点数、布尔值等。

以下是一些常用的方法:

  1. next():获取下一个标记(使用默认的空白字符集)。

  2. nextLine():获取下一行文本。

  3. nextInt():获取下一个整数。

  4. nextDouble():获取下一个双精度浮点数。

  5. nextBoolean():获取下一个布尔值。

  6. hasNext():如果有另一个标记,则返回 true。

  7. hasNextInt():如果下一个标记是一个整数,则返回 true。

  8. hasNextDouble():如果下一个标记是一个双精度浮点数,则返回 true。

  9. hasNextBoolean():如果下一个标记是一个布尔值,则返回 true。

代码示例1:

import java.util.Scanner;public class ScannerExample {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 从标准输入接收数据System.out.println("请输入一行文本:");String line = scanner.nextLine(); //获取数据时程序会停住,等待数据输入System.out.println("输入的文本是:" + line);System.out.println("请输入一个整数:");int intValue = scanner.nextInt();System.out.println("输入的整数是:" + intValue);System.out.println("请输入一个双精度浮点数:");double doubleValue = scanner.nextDouble();System.out.println("输入的双精度浮点数是:" + doubleValue);System.out.println("请输入一个布尔值:");boolean booleanValue = scanner.nextBoolean();System.out.println("输入的布尔值是:" + booleanValue);scanner.close();}
}

        在实际应用中,你可以根据需要选择合适的方法来读取数据。记得在完成操作后关闭 Scanner 对象以释放资源。

代码示例2

配合if语句使用

import java.util.Scanner;public class Demo01 {public static void main(String[] args){Scanner scanner = new Scanner(System.in);//从键盘接收数据int i;float f;System.out.println("请输入整数");//如果。。。那么。。。if(scanner.hasNextInt()){i = scanner.nextInt();System.out.println("整数数据" + i);}else{System.out.println("您输入的不是整数数据");}System.out.println("请输入小数");if(scanner.hasNextFloat()){f = scanner.nextFloat();System.out.println("小数数据" + f);}else{System.out.println("您输入的不是小数数据");}scanner.close();}
}

代码示例3

配合while使用

import java.util.Scanner;public class Demo02 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);double sum = 0;int m = 0;System.out.println("请输入数据");while (scanner.hasNextDouble()){System.out.println("请输入数据");double x = scanner.nextDouble();m++; //m = m + 1;sum = sum +x;}System.out.println(m + "个数的和是" + sum);System.out.println(m + "个数的平均值" + sum/m);scanner.close();}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何将列数据转换为行数据——SQL和EF Core(C#)两种实现方式
  • 【Linux】
  • Java开发代码规范文档
  • windows 安装TVM
  • NCL的安装和运行;气象数据可视化;散点图、直方图、等值线图、箭头图、任意折线和任意图形、非规则网格、图形叠加、组图的绘制
  • 深入探讨安全验证:OAuth2.0、Cookie与Session、JWT令牌、SSO与开放授权平台设计
  • go 调用C语言函数或者库
  • 力扣题解(增减字符串匹配)
  • 【笔记】Swin-Transformer 的计算量与Transformer的计算量的对比:前者通过使用新颖的窗口技巧,将后者的高阶项变为低阶,大大降低了计算量
  • Vulkan入门系列9 - Uniform Buffer 资源描述符
  • Eval绕过限制参数限制
  • 数据库交互的艺术:JDBC与数据库连接池的探索之旅
  • vue2+OpenLayers 地图上添加渐变色(6)
  • 负载均衡相关概念介绍(一)
  • java后端都要学那些知识
  • 【刷算法】从上往下打印二叉树
  • 2017 年终总结 —— 在路上
  • Akka系列(七):Actor持久化之Akka persistence
  • android图片蒙层
  • Angular6错误 Service: No provider for Renderer2
  • css布局,左右固定中间自适应实现
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JavaScript异步流程控制的前世今生
  • PermissionScope Swift4 兼容问题
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 移动端解决方案学习记录
  • 再次简单明了总结flex布局,一看就懂...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #Linux(帮助手册)
  • (4)(4.6) Triducer
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (javascript)再说document.body.scrollTop的使用问题
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (计算机网络)物理层
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (六)c52学习之旅-独立按键
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (转)Oracle存储过程编写经验和优化措施
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .java 9 找不到符号_java找不到符号
  • .md即markdown文件的基本常用编写语法
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net framework4与其client profile版本的区别
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .Net--CLS,CTS,CLI,BCL,FCL
  • .NET构架之我见
  • @Autowired注解的实现原理
  • @EnableAsync和@Async开始异步任务支持
  • @NotNull、@NotEmpty 和 @NotBlank 区别
  • @requestBody写与不写的情况