所以这是我所有的代码,总而言之,它标准化了两个文本文件,然后输出了结果。

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]


那就是你想做的

10-08 18:10