【发布时间】:2020-06-12 21:59:12
【问题描述】:
在这个程序中,我正在处理的是通过我的名为 homophone 的方法读取文件,该方法读取文件并使用 hashmap 查找具有最多同音字的单词并返回最多同音字数的计数。我的问题是如何读取文件并通过 main 方法中的同音字方法将其传递。到目前为止,这是我的代码:
import java.security.KeyStore.Entry;
import java.util.*;
import java.io.*;
public class program2 {
public static void main(String[] args) throws IOException {
System.out.println(homophone());
}
public static int homophone(String file) throws FileNotFoundException{
HashMap<String,Integer> alike = new HashMap<>();
Scanner input = new Scanner(new File(file));
while(input.hasNext()) {
String line = input.nextLine();
String[] key = line.split(" ");
if(alike.containsKey(key[1])) {
alike.put(key[1],alike.get(key[1])+1);
} else alike.put(key[1],alike.get(key[1]));
}
int max = 0;
for(java.util.Map.Entry<String, Integer> e:alike.entrySet()) {
if(e.getValue()>max) max = e.getValue();
}
return max;
}
}
Example File Content:
A AH0
A(1) EY1
A'S EY1 Z
A. EY1
A.'S EY1 Z
A.S EY1 Z
A42128 EY1 F AO1 R T UW1 W AH1 N T UW1 EY1 T
AAA T R IH2 P AH0 L EY1
AABERG AA1 B ER0 G
AACHEN AA1 K AH0 N
AACHENER AA1 K AH0 N ER0
AAKER AA1 K ER0
AALSETH AA1 L S EH0 TH
AAMODT AA1 M AH0 T
AANCOR AA1 N K AO2 R
AARDEMA AA0 R D EH1 M AH0
AARDVARK AA1 R D V AA2 R K
AARON EH1 R AH0 N
AARON'S EH1 R AH0 N Z
AARONS EH1 R AH0 N Z
【问题讨论】:
-
可能你想要的是同音字(args[0]);
-
您是否尝试过将文件作为文件类型而不是字符串传递给同音字方法? EX: public static int homophone(File file) throws FileNotFoundException{
-
@Llama 是的,不幸的是它只会产生错误:构造函数 File(file) 未定义。
标签: java loops file methods hashmap