您好我需要找到文件中最长字出现的行号。如果存在两个或更多相同最长长度的不同单词,则仅跟踪第一个单词。我已经完成了对最长单词的跟踪,但我需要帮助查找最长单词的行。这是我找到最长单词的代码:
while(scan2.hasNextLine()){
String line = scan2.nextLine();
if(line.contains(longestWord)){
longestWordList.add(longestWord);
}
else{
longestWordList.add(null);
}
}
答案 0 :(得分:1)
您需要跟踪当前行号,最长字的行号以及最长字的长度。对于每一行,通过拆分空格和标点符号将行拆分为单词数组。您可以使用正则表达式执行此操作。然后查看每个单词是否长于最长的单词。如果找到新的最长字,则记录当前行号并记录新的最长字长。
int lineNumLongest = 0, lineNumCurrent = 0, longestLength = 0;
while(scan2.hasNextLine()) {
lineNumCurrent++;
String[] words = scan2.nextLine().split("[ .?!,;:/\\\\]");
for (String word : words) {
if (word.length() > longestLength) {
lineNumLongest = lineNumCurrent;
longestLength = word.length();
}
}
}