我有一段这样的代码:
while (scanFile.hasNextLine())
{
String currentLine = scanFile.nextLine();
if (currentLine.isEmpty())
{
System.out.println();
continue;
}
String[] allWordsInCurrentLine = currentLine.split(" ");
然后,我想使用三种不同的方法来操作正在扫描的文件。
第一种方法单独扫描代码的每一行并逐行打印出某种形式的输出(pigLatin)(因此“while”循环的每次迭代都会给出一行输出。
第二种方法首先扫描所有文本,然后将各种信息存储在不同的数组和变量中。然后用户可以搜索这些信息(因此在给出任何输出之前必须满足整个“while”循环)。然后我有第三种方法,它与第一种方法类似。
我试图找到重用这部分代码的最有效方法。最初,我尝试只在上面代码的底行下方进行方法调用,并在其顶部有一个 for 循环,所以如果 a==0,调用第一个方法,然后通过 while 循环第二次,a 将递增并且将调用第二种方法,依此类推,如下所示:
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”循环才能运行。