java - 为什么我的扫描仪在读取文件时会创建一个额外的输入?
问题描述
我正在开发一个程序,该程序读取一个包含整个字典的文本文件,并将获取单词、发音和定义并将其添加到 AVL 树中。我正在处理读取 .txt 文件并将不同的东西(单词、定义......)存储到字符串中的循环。每当循环运行时,它都会在定义字符串中添加一个额外的输入。这是我的代码:
package text;
import java.util.*;
import java.io.*;
public class Text {
public static void main(String args[]) throws IOException{
File file = new File(args[0]);
Scanner scanner = new Scanner(file);
int cap = 0, proLine = 0;
String word="", pro="",def="";
String strLine;
while (scanner.hasNext()){
strLine = scanner.nextLine();
if(isCaps(strLine))
cap++; proLine = 1;
if((isCaps(strLine)) && cap == 1)
word = strLine;
if(proLine == 1 && cap ==1)
pro = strLine;
if(isDefn(strLine)){
def = strLine;
}
if(cap == 2){
System.out.println(word+"\n"+pro+"\n"+def);
cap = 0;
proLine = 0;
}
}
}
private static boolean isCaps(String str){return (str.equals(str.toUpperCase()));}
private static boolean isDefn(String str){return str.contains("Defn");}
}
这是我一直在使用的文本文件
“ABAFT
A*baft", adv. (Naut.)
Defn:朝向船尾;船尾;作为,去往后。
放弃
A*bai"sance, n. Etym: [用于服从;与 F. abaisser, E. abase 混淆]
定义:服从。[观察] 琼森。”
解决方案
推荐阅读
- java - 使用 `CrudRepository` 通过键引用添加多对多关系
- javascript - Dispatch prop 作为参数从 React Redux 容器中存储
- javascript - 为什么这不可能: let array[j] = array[j] + 1;
- python - 将 fillna 与条件 Pandas 一起使用
- java - 无法使用 gradle 生成的 jar 文件找到或加载主类
- python - 如何从 PCAP 中提取带有供应商名称的 ARP MAC 地址并保存到文件
- php - What is solution for save multiple MySQL database connections in PHP
- java - 带有 jib 的 JRE 版本(Docker)
- python - 在类 python3 中使用装饰器
- typescript - 为什么 TypeScript 不急切地简化愚蠢的联合类型?