1.v1(第一版比较简陋,反正也是先实验):
首先,创建随机对象和有获取功能的对象
接着,创建字符串数组存入单词和相应的中文
最后就是背单词软件的逻辑,先学习一下其中具体的方法:
nextInt:随机给一个数字,属于Random类的方法
substring:是Java String 类的一个重要方法,用于截取字符串的一部分
charAt:获取字符串中指定的字符(速度很快o(1),即使是长度为1000的字符串也可以速读取)
next:读取,
①:以空白字符为分隔符:
②:不读取空白字符前的分隔符
其它的读取类型:
代码逻辑:
运行结果:
v1 2.0:
文件读取流:
①字符流:
②缓冲字符流:
缓冲:在计算机科学中,缓冲是指在两个不同速度的设备或组件之间临时存储数据的一块内存区域。
这两种方法需要搭配使用,FileReader会读取整个文件 但是我们只需要读取一个单词和它的中文意思 那么就需要BufferReader负责缓冲,分配一个内存出来并且每次只读取文件中的一行,这样的话FileReader就只在这一行读取,大大提高运行速度。
(我乱搜的)
try-catch:
try 是 Java 中的异常处理机制的关键字,用于捕获和处理程序运行时可能出现的错误。
try—catch是 Java 中的异常处理机制,它的核心作用是:让程序在遇到错误时不会崩溃,而是优雅地处理错误并继续运行。
所以
catch块如果是空的就会隐藏错误,这样的话就不知道哪出错了
throw new RuntimeException(e); 的作用:快速暴露错误,方便开发者调试(这个一般用在开发的阶段 方便开发者读取错误的地方 快速解决问题,用在使用阶段的话 读取不到文件当执行这个语句的时候用户界面也会爆红 造成不好的体验感)
IOException:是Input/Output Exception(输入输出异常)的缩写,是 Java 中处理输入输出操作时最常见的异常。
要注意的是写在try里的话要和catch(IOException e)搭配使用不然会报错
这样写的话可以避免读取失败 如果有就会向开发者报告错误的地方
split(): 是String 类中最重要的方法之一,用于将字符串按照指定的规则拆分成数组。能够将中文和英文分割开来 括号里添加的是区分的标志
代码:
还有就是文件存储的单词(重新建一个软件包 创建文件.txt):
运行效果: