2017-02-02 6 views
0

私は現在、数百万桁のテキストファイルがあるところでプログラムを書いています。ユーザーが入力した6つの数字のランダムな文字列)。これにはいくつかの制約があり、難しくなっています。Java:テキストファイル内で比較する

  1. は、各文字が唯一のいずれかの方法を使用することはできません(私はそれがあればネストされた書類の束での作業だが、私がやった方法は、それがこの規則に違反した)一度
  2. を読み取ることができBufferedReaderの

  3. を使用しなければなりません(私は読んだ文字をまとめて、元の文字列と.equals()で比較することはできません)。私はすでに元の文字列を6つの個々の文字に分割しました。一致が検出された後

(6があるはずている)だけで文字変数に、どのような種類の配列に文字列を読み込み保存するために許可されていません、それは場所を報告することです(私はちょうど私がすべての文字を読み取ると増加するカウント変数を保持する必要があります)、ファイルの終わりに達するまで続きます。ファイルには複数の一致が存在する可能性があります。

これに関するお手伝いがあれば、私は何をすべきか迷っています。

+0

これは質問ですか、宿題ですか? – byxor

+0

あなたのためにコードを書いたようですが、私は何も見ません。 –

答えて

2

検索する語句はhaystack、語義は98712365478932145697、語義語はneedleです(例:893)。

方法について:文字が最初の文字はあなたのneedleであれば、時間

  • haystackから文字を読んで、変数の最初の文字で、それを格納するための

    • 使用BufferedReader.read()
      • 次の文字がneedleの2番目の文字の場合は2番目の文字変数に格納し、それ以外の場合はneedleの最初の文字であれば、最初からやり直してくださいその最初の文字の次の文字があなたのneedleで3番目の文字である場合、それ以外の、3番目の文字変数に格納し
      • 変数、それはあなたのneedleの最初の文字だ場合など
    • オーバー
    • を開始
    • あなたが最後の文字変数を記入した場合、あなたはhaystackneedleを発見した、あなたはここで停止したり、最初からやり直し、それはこの些細なだとして、私はコードを書くません

    別の発生を探すことができます宿題のように聞こえるが、それはあなたにナッジを与えるはずである。

  • +1

    私たちは、宿題のソルバーが少なく、あなたのような人が多くいます。あなたは_learning_を励ましています。これは良いことです。 – byxor

    関連する問題