import java.io.File; import java.io.FileNotFoundException; import java.util.Arrays; import java.util.Scanner; import java.util.concurrent.CountDownLatch; public class Main { static String[] sevenrays; static int n; static int k; static String ord; static String path; static Monitor monitor = new Monitor(); static CountDownLatch cdl; public static void main(String[] args) { ord = args[0]; path = "./Mappe/" + args[1]; Scanner input = new Scanner(System.in); k = input.nextInt(); cdl = new CountDownLatch(k); input.close(); Scanner sc = null; try { sc = new Scanner(new File(path)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } n = Integer.parseInt(sc.nextLine()); sevenrays = new String[n]; for (int i = 0; i < n; i++) { sevenrays[i] = sc.nextLine() .strip() .replaceAll("[^a-zA-Z0-9]", "") .toLowerCase(); } int perTraad = (n / k) + 1; for (int i = 0; i < k; i++) { int start = i * perTraad; int slutt = Math.min((i+1) * perTraad, sevenrays.length); new Thread(new OrdFinner( Arrays.copyOfRange(sevenrays, start, slutt), ord, monitor, cdl)).start();; } try { cdl.await(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(monitor.antallAvOrd); } }