这是我们的代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class reverse {
public static void main(String[] args) throws FileNotFoundException {
File fil = new File("textFile.txt");
Scanner scan = new Scanner(fil);
while (scan.hasNext()) {
String in = scan.nextLine();
in = new StringBuffer(in).reverse().toString();
Pattern replace = Pattern.compile("\\W+");
Matcher matcher = replace.matcher(in);
System.out.println(matcher.replaceAll("\t"));
}
}
}
在我们的 textFile.txt 中,我们在不同的行中有字母、数字和单词。我们想以相反的顺序打印出来。因此,如果一行是:是的,4 巧克力牛奶。我们要打印出:牛奶巧克力 4 是的。
我们的代码反向打印单词,所以 yes 变成了 sey。我们不希望它变成这样,但不知道如何改变它。我们一直在考虑创建一个堆栈,但我们不知道它如何在没有 Pattern 和 Matcher 的情况下协同工作。