- 締切済み
キーボードからの文字列検索
いつもお世話になっております。 文字列検索をするプログラムを作っているのですが、キーボードから検索したい文字を入力して検索する方法がわかりません。コマンドラインからの検索はできたのですが、スペースが入ると思うように検索できないんです。 どなたかご教授頂けると大変うれしいです。 よろしくお願い致します。 import java.io.*; import java.util.*; class Search{ public static void main(String[] args) throws IOException, InterruptedException{ FileInputStream fis = new FileInputStream("input.txt"); InputStreamReader in = new InputStreamReader(fis); BufferedReader br = new BufferedReader(in); String msg = br.readLine(); Camera mySearch = new Camera(); String target = (args[0]); mySearch.setFocus(target.length()); BufferedReader console = new BufferedReader(new InputStreamReader(System.in)); System.out.println(msg); for(int i = 0; i < msg.length(); i++ ){ mySearch.shift(msg.charAt(i)); if(mySearch.compare(target)){ System.out.println("Pattern '" + target + "' is found at index of " + (i - target.length() + 1)); break; } } } }
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>キーボードから入力して検索できる方法を教えていただけないでしょうか? 何がわからないのかよくわからないのですが、 質問文のプログラムで >String target = (args[0]); のかわりに String target = console.readLine(); すればいいだけのように思うけど 補足質問の意図を勘違いしてたらすみません
補足
なるほど、そういう方法があったんですね! 補足なんですが、コマンドの画面で検索を促してから、キーボードから入力して検索できる方法を教えていただけないでしょうか? この方法かっこ悪くて‥。お手数かけます。