
Java学习记录之Scanner
编写清单文件,创建 在主类中读取数字文件内容:
发布日期:2021-05-24 05:19:30
浏览次数:18
分类:精选文章
本文共 2611 字,大约阅读时间需要 8 分钟。
Scanner类与随机数生成的Java编程实用指南
作为Java开发者,掌握Scanner类的使用是日常编程中不可或缺的一部分。它为你提供了获取键盘输入的功能,极大简化了用户与程序交互的流程。而如果你需要生成随机数,则可以利用Random类,两者结合使用能帮助你开发更加灵活的程序。以下内容将详细教你如何操作。
一、基本操作步骤
使用Scanner类获取键盘输入,步骤清晰易懂。
导包
Scanner类位于java.lang包中,所以无需额外导包。但如果你使用其他不在java.lang的包中的类,则需要添加import语句。创建Scanner实例
使用System.in获取输入,通常会写成: Scanner sc = new Scanner(System.in);采集输入
根据需求选择kbd输入类型:- 获取数字:int num = sc.nextInt();
- 获取字符串:String str = sc.nextLine();
实例如下:
public class Demo01Scanner { public static void main(String[] args) { // 创建Scanner实例 Scanner sc = new Scanner(System.in); // 读取数字 int num = sc.nextInt(); System.out.println("用户输入的数字是:" + num); }}
这一部分的代码告诉你,通过创建Scanner实例并绑定系统输入流,随后调用NEXTInt()方法获取数字。
二、Random类生成随机数
随机数生成是程序开发中的常见需求,Random类提供了便捷的方法。
导包
导入Random类所在的包:import java.util.Random;。创建Random实例
创建实例会话: Random r = new Random();生成随机数
-
不带范围:int randomInt = r.nextInt();
返回的范围是- Integer.MIN_VALUE到Integer.MAX_VALUE之间的任意整数。 -
有范围限制:int restrictedInt = r.nextInt(5);
参数表示左闭右开区间,例如nextInt(5)会返回0到4之间的整数。
以下代码展示了这两种方式的应用:
public class RandomDemo { public static void main(String[] args) { Random r = new Random(); System.out.println("随机数字范围内:" + r.nextInt(5)); System.out.println("完全随机数字:" + r.nextInt()); }}
三、综合示例
将Scanner和Random结合使用,编写一个简单的猜数字游戏。
Resources/right.rb
,并放入数字文件。public class NumberGuessingGame { public static void main(String[] args) { // 随机目标数字 Random r = new Random(); int target = r.nextInt(100); // 目标数在0~99之间 // 读取用户输入 Scanner sc = new Scanner(System.in); System.out.println("猜数字:输入0到99之间的数字。"); // 判断输入并给出反馈 while (true) { String input = sc.nextLine(); try { int number = Integer.parseInt(input); if (number == target) { System.out.println("恭喜!你猜对了,数字是:" + number); break; } else if (number < target) { System.out.println("太低了,尝试更大的数字。"); } else { System.out.println("太高了,尝试更小的数字。"); } } catch (NumberFormatException e) { System.out.println("请输入1~100之间的整数!"); } } }}
小贴士
- 选择合适的输入类型:如果需要判断用户输入的数值范围,用Scanner的hasNext()方法可以避免输入错误。
- 读取大文件时,尽量改用BufferedReader来提高读取效率。在Java环境中,建议这样操作:
BufferedReader br = new BufferedReader(new InputStreamReader(sc, "UTF-8"));
- 报错处理:在输入读取部分添加try-catch语句,可以更好地处理输入错误。
- 性能优化:如果进行大量输入操作,考虑切换到批处理模式,使用sc.useDelimiter Рас xl.java"所有行,除了空行)。
过这些方法可以让你的键盘输入处理更加高效和可靠,随机数生成也能增加程序的趣味性和动态性。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年05月05日 11时31分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SpringBoot使用@Email报错误
2019-03-13
访问servlet时弹出文件下载框解决方法
2019-03-13
IDEA-@Slf4j和log标签&@Data(Lombok)无效
2019-03-13
Thymeleaf 生成下标,索引,使用Stat变量
2019-03-13
初始微服务---Springcloud发展【第一期】
2019-03-13
RAFT 拜占庭将军 共识算法
2019-03-13
UE4 错误列表 error码(只记录我遇到的情况,持续添加,未完成)
2019-03-13
Android 架构组件 – 让天下没有难做的 App
2019-03-13
能解决数据可视化大屏需求的3款可视化工具
2019-03-13
如何在VSCode中定制JSON的IntelliSense
2019-03-13
椭圆曲线的定义
2019-03-13
多代理区块链框架客户端的操作
2019-03-13
go语言中类的继承和方法的使用
2019-03-13
一些技术博客
2019-03-13
第01问:MySQL 一次 insert 刷几次盘?
2019-03-13
libvirtd:内部错误:Failed to apply firewall rule
2019-03-13
优先级队列2
2019-03-13
TiKV 源码解析系列文章(十三)MVCC 数据读取
2019-03-13