Java语言程序设计基础篇_编程练习题**18.30 (找出单词)
题目:**18.30 (找出单词)
编写一个程序,递归地找出某个目录下的所有文件中某个单词出现的次数。从命令行如下传递参数:
java Exercise18_30 dirName word
-
习题思路
- (读取路径方法)和18.28题差不多,把找到文件后变量计数+1改成调用读取文件单词在文件内出现的次数即可(调用读取文件方法)。Java语言程序设计基础篇_编程练习题*18.28 (非递归目录大小)-CSDN博客
- (读取文件方法)传入文件和单词,逐行读取文件,如果找到单词,则计数变量+1.
- (main方法)读取传入的路径和单词,调用读取路径方法。
-
代码示例
编程练习题18_30WordCount.java
package chapter_18;import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;public class 编程练习题18_30WordCount {public static void main(String[] args) throws FileNotFoundException{if(args.length != 2) {System.out.println("Usage: java 编程练习题18_30WordCount dirName word");System.exit(0);}String path = args[0];String word = args[1];File file = new File(path);int count = readPath(file, word);System.out.println("The string "+word+" appears a total of "+count+" times.");}public static int readPath(File file,String word) throws FileNotFoundException{int count = 0;ArrayList<File> files = new ArrayList<File>();files.add(file);while(!files.isEmpty()) {ArrayList<File> newList = new ArrayList<File>();for(File f : files) {if(f.isFile())count+=readFile(f, word);else {File[] fileList = f.listFiles();if(fileList != null) {for(File f2:fileList){if(f2.isDirectory())newList.add(f2);else count += readFile(f2, word);}}}}files = newList;}return count;}public static int readFile(File file,String word)throws FileNotFoundException {int count = 0;try(Scanner input = new Scanner(file)){while(input.hasNextLine()) {String line = input.nextLine();if(line.contains(word))count++;}}return count;}}
-
输出结果

javac 编程练习题18_30WordCount.javajava chapter_18/编程练习题18_30WordCount C:/Users/Lenovo/eclipse-workspace/JavaFX/src public
相关文章:
Java语言程序设计基础篇_编程练习题**18.30 (找出单词)
题目:**18.30 (找出单词) 编写一个程序,递归地找出某个目录下的所有文件中某个单词出现的次数。从命令行如下传递参数: java Exercise18_30 dirName word 习题思路 (读取路径方法)和18.28题差不多,把找…...
MyBatis中 #{} 和 ${} 的区别
1. #{id}(参数占位符) 作用: 使用 #{id} 时,MyBatis 会将 id 参数绑定为 JDBC 的参数。这种方式能够有效防止 SQL 注入攻击,因为它会进行参数的预处理,将参数值作为数据类型的绑定,而不是直接插入到 SQL 语…...
Android Perfetto 学习
1、如何抓取性能日志 方式1、通过手机里的System Tracing抓取 1、点击Settings->System->Developer options->System Tracing->Record trace 打开 2、操作完成后,点击Settings->System->Developer options->System Tracing->Record trace…...
ES数据的删除与备份
背景 需要删除索引下满足指定条件的文档数据,并将删除的数据进行备份。 操作步骤 新建索引 该索引结构与映射关系与原索引一致 查看原索引设置 GET /tb/_settings结果: {"tb" : {"settings" : {"index" : {"ro…...
论文解读《Object-Centric Learning with Slot Attention》
系列文章目录 文章目录 系列文章目录论文细节理解 1. 研究背景2. 论文贡献3. 方法框架3.1 Slot Attention模块3.2 无监督对象发现架构 4. 研究思路5. 实验6. 限制 论文细节理解 supervised property prediction tasks是什么? Supervised property prediction tasks…...
YOLOv8+注意力机制+PyQt5玉米病害检测系统完整资源集合
资源包含可视化的玉米病害检测系统,基于最新的YOLOv8注意力机制训练的玉米病害检测模型,和基于PyQt5制作的可视玉米病害系统,包含登陆页面和检测页面,该系统可自动检测和识别图片或视频当中出现的七类玉米病害:矮花叶病…...
tcp、udp通信调试工具Socket Tool
tcp、udp通信调试工具Socket Tool ]...
MedPrompt:基于提示工程的医学诊断准确率优化方法
Medprompt:基于提示工程的医学诊断准确率优化方法 秒懂大纲解法拆解MedPrompt 提示词全流程分析总结创意视角 论文:Can Generalist Foundation Models Outcompete Special-Purpose Tuning? Case Study in Medicine 秒懂大纲 ├── 1 研究背景【描述背…...
关于ollama 在mac的部署问题
安装 官网链接 直接按需求下载即可 默认模型下载地址 macOS: ~/.ollama/models Linux: /usr/share/ollama/.ollama/models Windows: C:\Users<username>.ollama\models 根据需要的平台设置相应的环境变量: OLLAMA_MODELS 如Mac 设置 ~/.zshrc …...
职业技能大赛-单元测试笔记(assertThat)分享
前言 assertThat 是一种用于编写测试断言的方法,广泛应用于 Java 及其他编程语言的测试框架中,如 JUnit 和 AssertJ。它特别强调可读性和流畅性,使得测试代码更加直观易懂,从而提高了开发者在编写和维护测试时的效率。传统的断言方法通常以较为简洁但不够清晰的形式出现,例…...
AI大模型:OpenAI o1或能成为引领AI Phenomenal Ride的LLM新范式
OpenAI 发布 o1 系列大模型,AI 大模型进入新纪元**。**9 月 12 日,OpenAI 宣布开发了一系列全新AI 模型,其被命名为 OpenAI o1-preview,旨在在回应前投入更多时间思考。与之前的模型相比,这些模型能够更好地进行推理&a…...
天命人,如何轻松利用仿真技术打造出属于你的“金箍棒”?
近期,一款以西游记为背景的国产游戏,重塑了悟空这一经典角色,将其置于一个黑暗、魔幻的世界中。同时也是国内第一款 3A 游戏大作,而所谓 3A 游戏,简单来说就是高质量,高体量,高成本的单机…...
【Qt | QAction】Qt 的 QAction 类介绍
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...
写论文一定要知道的三大AI工具!5分钟完成论文初稿
在当今的学术研究和写作领域,AI工具已经成为不可或缺的助手。它们不仅能够提高写作效率,还能帮助研究者生成高质量的论文。以下是三大值得推荐的AI工具,它们可以帮助你在5分钟内完成论文初稿,并且特别推荐千笔-AIPasspaper。 千笔…...
时装购物|时装购物系统|基于springboot的时装购物系统设计与实现(源码+数据库+文档)
时装购物系统目录 目录 基于springboot的时装购物系统设计与实现 一、前言 二、系统功能设计 三、系统实现 5.1管理员功能模块 四、数据库设计 1、实体ER图 2、具体的表设计如下所示: 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取…...
Android——内部/外部存储
Android 内部存储 与宿主 App 的生命周期相同,应用卸载时,会被系统自动删除。宿主 App 可以直接访问,无需权限。其他应用无权访问。用户访问需 Root 权限。适合存储与应用直接相关,隐私性或敏感性高的数据。 主要API getDataDi…...
计算机网络发展
目录 一、计算机网络的起源 1.1 ARPANET的诞生 1.2 TCP/IP协议的提出 二、互联网的兴起与普及 2.1 DNS系统的建立 2.2 万维网的诞生 2.3 互联网的商业化 三、宽带和无线网络的发展 3.1 宽带网络的普及 3.2 无线网络与移动互联网 四、互联网的未来趋势 4.1 5G与物联网…...
【后端开发】JavaEE初阶—线程的理解和编程实现
前言: 🌟🌟本期讲解多线程的知识哟~~~,希望能帮到屏幕前的你。 🌈上期博客在这里:【后端开发】JavaEE初阶——计算机是如何工作的???-CSDN博客 🌈感兴趣的小伙…...
Matlab simulink建模与仿真 第十九章(生成C代码)
一、Configuration Parameters模型参数配置 1、仿真时间 (1)在Solver选项卡中可以设置仿真的起始时间和结束时间,一般起始时间设为0,而结束时间按需设置。 (2)如果希望仿真不会自动暂停(也就…...
遍历9个格子winmine!StepBlock和遍历8个格子winmine!StepBox的对决
遍历9个格子winmine!StepBlock和遍历8个格子winmine!StepBox的对决 第一部分:windbg调试记录。 0: kd> g Breakpoint 10 hit winmine!DoButton1Up: 001b:0100390e a130510001 mov eax,dword ptr [winmine!xCur (01005130)] 0: kd> kc # 00 winmine…...
英伟达黄仁勋力荐!2026年AI Agent元年,掌握这5大关键技术,成为行业风口!
0****1 什么是AI Agent? 随着人工智能技术加速演进,AI Agent(人工智能代理,常称智能体)正悄然渗透到企业运营与日常生活的各个角落,从大家熟悉的虚拟助手(如Siri、小爱同学、豆包)&a…...
在AutoDL上从零部署YOLO训练环境:新手避坑指南
1. 为什么选择AutoDL部署YOLO训练环境 第一次接触目标检测任务时,我和大多数新手一样被各种环境配置问题折磨得够呛。本地显卡跑不动YOLOv5,租用云服务器又担心操作复杂,直到发现了AutoDL这个宝藏平台。它最大的优势就是把复杂的GPU实例管理简…...
AgentCPM深度研报助手C语言文件操作实战:批量处理本地研报文本文件
AgentCPM深度研报助手C语言文件操作实战:批量处理本地研报文本文件 你是不是也遇到过这样的场景?手头有一堆下载好的行业研报,有PDF,有TXT,堆在文件夹里。想快速了解每份报告的核心观点,但一份份打开看&am…...
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署
EVA-01保姆级教程:Qwen2.5-VL-7B多模态大模型在EVA-01中的本地化安全部署 1. 引言:欢迎来到NERV指挥中心 想象一下,你面前有一个能看懂图片、理解图表、甚至能和你讨论图片里发生了什么的智能助手。现在,我们把这个助手装进了一…...
OpenClaw密码管理:nanobot安全存储与自动填充方案
OpenClaw密码管理:nanobot安全存储与自动填充方案 1. 为什么需要本地化的密码管理方案 去年的一次数据泄露事件让我彻底放弃了所有云端密码管理器。当时我使用的某知名商业工具突然弹出安全警报,提示"您的部分密码可能已被未授权访问"。虽然…...
8路HD-SDI录播主机CYS-08
在广电录制、教育录播、会议记录等场景中,稳定、高清、易管理的视频录制设备至关重要。春源丽影CYS-08 推出的8路HD-SDI硬盘录像机,凭借全接口支持、双编码技术、智能存储等核心优势,为多路高清录制需求提供了专业级解决方案。8路高清输入&am…...
从‘丐版’到‘神板’:深度拆解Raspberry Pi Zero 2 W的散热设计与性能压榨指南
从‘丐版’到‘神板’:深度拆解Raspberry Pi Zero 2 W的散热设计与性能压榨指南 当一款信用卡大小的开发板搭载四核处理器时,散热与性能的平衡便成为硬件极客们最热衷的挑战。Raspberry Pi Zero 2 W以不到15美元的定价,却藏着令人惊喜的工程智…...
RGBLEDBlender:嵌入式RGB LED色彩混合与动态控制框架
1. RGBLEDBlender 库深度解析:面向嵌入式系统的 RGB 色彩混合与动态控制框架RGBLEDBlender 是一个轻量级、面向硬件的 RGB LED 色彩混合库,专为资源受限的微控制器平台(尤其是 Arduino 生态)设计。该库由 Erik Sikich 于 2016 年 …...
douyin-downloader:让每个人都能轻松获取无水印视频的技术利器
douyin-downloader:让每个人都能轻松获取无水印视频的技术利器 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 一、问题破局:揭开抖音内容获取的神秘面纱 1.1 内容获取的三大拦路虎 …...
从‘它怎么又挂了’到‘服务稳如狗’:我是如何用Prometheus+Grafana给自家小项目做监控的
从零搭建轻量级服务监控:PrometheusGrafana实战指南 凌晨三点,手机突然响起刺耳的警报声——这已经是本周第三次被线上服务宕机惊醒。作为独立开发者或小团队,我们往往身兼数职,既要写代码又要维护基础设施。服务崩溃时才发现问题…...
