我正在嘗試編寫一個程序,該程序將接收用戶輸入(字符的長消息),存儲消息並搜索文本文件以查看如果這些單詞出現在文本文件中。我遇到的問題是我只能讀取消息的第一個字符串並將其與文本文件進行比較。例如,如果我輸入「學習」;在文本文件中的一個詞,我會得到一個結果顯示在文件中找到。但是,如果我鍵入「學習是」,它仍然只會返回學習文件中找到的單詞,即使「is」也是文本文件中的一個單詞。我的程序似乎無法讀過空格。所以我想我的問題是,我如何擴充我的程序來做到這一點,並閱讀文件中的每一個字?我的程序是否也可以在從用戶獲取的原始消息中讀取每個單詞(無論有無空格),並將其與文本文件進行比較?用Java編寫程序以讀取用戶的多個字符串並與文本文件進行比較
謝謝
import java.io.*;
import java.util.Scanner;
public class Affine_English2
{
public static void main(String[] args) throws IOException
{
String message = "";
String name = "";
Scanner input = new Scanner(System.in);
Scanner scan = new Scanner(System.in);
System.out.println("Please enter in a message: ");
message = scan.next();
Scanner file = new Scanner(new File("example.txt"));
while(file.hasNextLine())
{
String line = file.nextLine();
for(int i = 0; i < message.length(); i++)
{
if(line.indexOf(message) != -1)
{
System.out.println(message + " is an English word ");
break;
}
}
}
}
}
嘗試message = scan.nextLine();而不是消息= scan.next(); – Mark
如果你想搜索你一次輸入的不同單詞,你需要一個可以分割的分隔符,這可以是每個字符,但它應該是唯一的,不應該出現在你的單詞中的某處,比如以「t」字符爲例 – XtremeBaumer