我有這樣的代碼while循環需要繼續
static String sCurrentLine = null;
/* keyword */
static String keyword = null;
Scanner keywordFile = null, siteFile = null;
try {
keywordFile = new Scanner(new File("/home/mearts/keywords.txt"));
siteFile = new Scanner(new FileReader(fileChooser.getSelectedFile()));
sCurrentLine = siteFile.nextLine().trim();
keyword = keywordFile.nextLine().trim();
while (sCurrentLine != null){
while (keywordFile.hasNext() || keyword == null) {
System.out.println("Line--> " + keyword);
System.out.println("Current here >>" + sCurrentLine);
if (sCurrentLine.contains(keyword)) {
System.out.println("Found it-->> " + keyword);
keyword = keywordFile.nextLine();
System.out.println("next keyword " + keyword);
///* reset search to top of site file */
siteFile = new Scanner(new
FileReader(fileChooser.getSelectedFile()));
sCurrentLine = siteFile.nextLine().trim();
}
else {
sCurrentLine = siteFile.nextLine();
if (sCurrentLine == null) {
break;
}
if (!sCurrentLine.matches(keyword)){
System.out.println("The following keyword " + keyword + " does not exist in file "
+ fileChooser.getSelectedFile());
}
}
} //2nd while loop
}
}
catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
siteFile.close();
keywordFile.close();
}
和我有有關鍵詞的話, 列表稱爲關鍵字的文本文件,但我的邏輯是關閉的,我不能找出原因。 我想我可能需要最後一次運行循環,但不知道該怎麼做 我的問題是關鍵字文件中的最後一個單詞永遠無法讀入,所以程序停止在文本中的第2個到最後一個元素文件。
在你的內心,而循環爲什麼在搜索的關鍵字做你檢查for keyword == null? – mba12
我認爲如果關鍵字爲null,循環將退出 – chris
您只需要or語句的第一部分keywordFile.hasNext() – mba12