这是我的全部代码供大家查看,我将在下面解释问题:
import java.io.*;
import java.util.*;
public class Plagiarism {
public static void main(String[] args) {
Plagiarism myPlag = new Plagiarism();
if (args.length == 0) {
System.out.println("Error: No files input");
}
else if (args.length > 0) {
try {
for (int i = 0; i < args.length; i++) {
BufferedReader reader = new BufferedReader (new FileReader (args[i]));
List<String> foo = simplify(reader);
for (int j = 0; j < foo.size(); j++) {
System.out.print(foo.get(j));
}
}
}
catch (Exception e) {
System.err.println ("Error reading from file");
}
}
}
public static List<String> simplify(BufferedReader input) throws IOException {
String line = null;
List<String> myList = new ArrayList<String>();
while ((line = input.readLine()) != null) {
myList.add(line.replaceAll("[^a-zA-Z0-9]","").toLowerCase().trim());
}
return myList;
}
}
对,它的作用是打印出这个:
abcdefabcd123abcdz456aabcdd
这个结果实际上是两个单独的文档,text1.txt
和text2.txt
在cmd上组合成一行。我需要的是对这两个文档进行标准化,然后将它们各自保存的每个值作为单独的元素打印出来,而不是作为一个整体打印出来,因为我需要将它们用作下一部分的 2 个单独的事物(或对象)我的代码。
希望这不会太令人困惑,聪明的人们可以帮助我!提前致谢!
最佳答案
您只是打印出结果,因此当它运行循环时,它将全部打印在一行上。
您可以将结果存储在单独的数组中,或者您可以这样做以使它们分别打印在不同的行上:
for (int i = 0; i < args.length; i++) {
BufferedReader reader = new BufferedReader (new FileReader (args[i]));
List<String> foo = simplify(reader);
for (int j = 0; j < foo.size(); j++) {
System.out.print(foo.get(j));
}
System.out.println();
}
新的 println 将分隔每个条目。
关于Java 两个不同的文档,完成了一些东西,但现在它们是一个..希望它们分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22385040/