Java中Scanner类的使用方法详解
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
Java 中 Scanner 类的用法
Java 中的 Scanner 类是 Java 5.0 引入的一种新的输入输出控制类,旨在简化输入输出流控制,取代传统的输入输出流控制方式。Scanner 类提供了多种方法来读取输入流,并将其转换为所需的数据类型。
Scanner 类的基本使用方法
Scanner 类的使用非常简单,首先需要 import java.util.Scanner; 并创建一个 Scanner 对象,例如:Scanner reader = new Scanner(System.in); 其中 System.in 代表标准输入流。
Scanner 类的方法
Scanner 类提供了多种方法来读取输入流,包括:
* `nextByte()`: 读取下一个 byte 类型的值
* `nextDouble()`: 读取下一个 double 类型的值
* `nextFloat()`: 读取下一个 float 类型的值
* `nextInt()`: 读取下一个 int 类型的值
* `nextLine()`: 读取下一个字符串
* `nextLong()`: 读取下一个 long 类型的值
* `nextShort()`: 读取下一个 short 类型的值
这些方法可以根据需要读取不同的数据类型。
hasNext 方法
Scanner 类还提供了一些 hasNext 方法,用于判断输入流中是否还有下一个值可以读取,包括:
* `hasNextByte()`: 判断是否还有下一个 byte 类型的值
* `hasNextDouble()`: 判断是否还有下一个 double 类型的值
* `hasNextFloat()`: 判断是否还有下一个 float 类型的值
* `hasNextInt()`: 判断是否还有下一个 int 类型的值
* `hasNextLine()`: 判断是否还有下一个字符串
* `hasNextLong()`: 判断是否还有下一个 long 类型的值
* `hasNextShort()`: 判断是否还有下一个 short 类型的值
这些方法可以用于循环读取输入流中的所有值。
示例代码
下面是一个使用 Scanner 类读取输入流中的所有 double 类型的值,并计算其总和的示例代码:
```java
import java.util.*;
public class Example {
public static void main(String[] args) {
System.out.println("请输入一些数字:");
Scanner reader = new Scanner(System.in);
double sum = 0;
int m = 0;
while (reader.hasNextDouble()) {
double x = reader.nextDouble();
m = m + 1;
sum = sum + x;
}
System.out.printf("%d 个数字的总和是:%f\n", m, sum);
System.out.printf("%d 个数字的平均值是:%f\n", m, sum / m);
}
}
```
在这个示例中,我们使用 Scanner 类读取输入流中的所有 double 类型的值,并计算其总和和平均值。
结论
Java 中的 Scanner 类提供了一个简洁的方式来读取输入流,并将其转换为所需的数据类型。通过使用 Scanner 类,可以简化输入输出流控制,提高编程效率。
373 浏览量
1632 浏览量
2596 浏览量
2268 浏览量
2024-06-28 上传
1580 浏览量
580 浏览量
318 浏览量
2024-11-07 上传
![](https://profile-avatar.csdnimg.cn/bd85e6687f3e47bc9cba92eb72b57bf7_wybneu.jpg!1)
wybneu
- 粉丝: 9
最新资源
- ABAP基础操作与系统字段详解
- Linux Kernel中文版详解:硬件与软件基础、存储管理和进程管理
- 精通Linux:从新手到高手的实战教程
- 3S技术集成与应用探索
- LPC2000系列MCU使用SPI接口访问MMC卡教程
- ArcGIS Engine白皮书:基于ESRI技术的自定义GIS应用开发指南
- Oracle数据库入门:从基础到SQL操作
- DOS命令详解:ping与ipconfig的使用技巧
- Visual C++ MFC入门教程:面向对象的Windows应用开发
- Struts2 框架深度解析
- AS/400 RPG语言编程指南
- SAP BAPI 用户指南:高级教程
- 深入学习Svn客户端:服务器功能、TortoiseSVN安装与工作流程
- Compass: Java搜索引擎框架, Hibernate替代方案(最新1.1M1版)
- Linux内核0.11详解与编译指南
- STL常见修改算法详解