• 締切済み

キーボードからの文字列検索

いつもお世話になっております。 文字列検索をするプログラムを作っているのですが、キーボードから検索したい文字を入力して検索する方法がわかりません。コマンドラインからの検索はできたのですが、スペースが入ると思うように検索できないんです。 どなたかご教授頂けると大変うれしいです。 よろしくお願い致します。 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; } } } }

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>キーボードから入力して検索できる方法を教えていただけないでしょうか? 何がわからないのかよくわからないのですが、 質問文のプログラムで >String target = (args[0]); のかわりに String target = console.readLine(); すればいいだけのように思うけど 補足質問の意図を勘違いしてたらすみません

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1の argv は args の間違い

bmwm52006
質問者

補足

なるほど、そういう方法があったんですね! 補足なんですが、コマンドの画面で検索を促してから、キーボードから入力して検索できる方法を教えていただけないでしょうか? この方法かっこ悪くて‥。お手数かけます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>スペースが入ると思うように検索できないんです。 スペースが入るとダメなのは、 java prog search string の様にスペースが入ると argvに別々に入るためです。 java prog "search string" のように入力してやらないといけません

関連するQ&A