所以这是我所有的代码,总而言之,它标准化了两个文本文件,然后输出了结果。
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;
}
}
我要实现的下一位是:使用命令行,第3个参数将是用户输入的任何整数(块大小)。然后,我必须使用它来将该数组的元素存储到重叠的单独块中。 EG:猫坐在垫子上,块大小为4。块1将是:Thec块2:heca块3:ecat,依此类推,直到到达阵列的末尾。
有任何想法吗?
在此先感谢大家。
最佳答案
要获取块大小,请使用以下命令:
if(args.length != 4)
return;
int blockSize = Integer.valueOf(args[3]);
这个例子可以帮助你
import java.util.*;
public class Test {
public static void main(String[] args) {
String line = "The dog is in the house";
line = line.replace(" ", "");
List<String> list = new ArrayList<String>();
for (int i = 0; i <= line.length() - 4; i++)
list.add(line.substring(i, i + 4));
System.out.println(list);
}
输出:
[Thed, hedo, edog, dogi, ogis, gisi, isin, sint, inth, nthe, theh, heho, ehou, hous, ouse]
那就是你想做的