次のようなコードのセクションがあります。
while (scanFile.hasNextLine())
{
String currentLine = scanFile.nextLine();
if (currentLine.isEmpty())
{
System.out.println();
continue;
}
String[] allWordsInCurrentLine = currentLine.split(" ");
次に、スキャン中のファイルを操作するために使用したい 3 つの方法があります。
最初の方法は、コードの各行を個別にスキャンし、何らかの形式の出力 (pigLatin) を行ごとに出力します (そのため、「while」ループの反復ごとに 1 行の出力が与えられます
。2 番目の方法は、最初にすべてのテキストをスキャンし、さまざまな情報をさまざまな配列と変数に格納します. ユーザーはこの情報を検索できます (そのため, 出力が得られる前に "while" ループ全体が満たされる必要があります). 次に、最初のメソッドと同様のことを行う 3 つ目のメソッドがあります.
コードのこのセクションを再利用する最も効率的な方法を見つけようとしています。もともと、上記のコードの一番下の行の下でメソッド呼び出しを実行しようとしましたが、その上部に for ループがあるため、a==0 の場合、最初のメソッドを呼び出し、次に while ループを介して 2 回目に a がインクリメントされ、次のように、2 番目のメソッドが呼び出されます。
for(String currentWordInCurrentLine : allWordsInCurrentLine)
{
if (i==0)
pigLatin(currentWordInCurrentLine); // Part 1
if (i==1)
searchForWord(currentWordInCurrentLine, currentLine); // Part 2
if (i==2)
brailleTranslator();
}
これにはいくつかの問題がありますが、見た目がひどいという事実だけではありません。誰かが私にインターフェイスを試すようにアドバイスしましたが、それらは私のステーションよりも少し上です (コースを始めてまだ数週間しか経っていません)。他に提案はありますか?
編集: pigLatin メソッド呼び出しは、上記の (見栄えは悪いですが) 方法を使用して正常に動作します。ただし、次のメソッドをそのように呼び出すことはできません。動作する前に「while」ループ全体を実行する必要があるためです。