Witam :)

Moje zadanie polega na tym, że mam kolumny litery ( niżej ) i mój program ma sprawdzić czy mogę utowrzyć słowa w której z kolumn. ( nie mogę zapożyczać literek z drugiej kolumny oraz każdej literki mogę użyć tylko raz )
Chciałem wczytać z pliku dane :

 (B O)
(X K)
(D Q)
(C P)
(N A)
(G T)
(R E)
(T G)
(Q D)
(F S)
(J W)
(H U)
(V I)
(A N)
(O B)
(E R)
(F S)
(L Y)
(P C)
(Z M)

Postanowiłem użyć HashMap, gdzie jedno będzie wartością 0 lub 1 ( w zależności czy już użyte czy nie ) a drugie to literka.

Kod :


package blocks;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;

public class Blocks {

    public void canMakeWord(String sss){

    }

    public static void main(String[] args) throws FileNotFoundException {
        String delim = "[/( /)]+";
        HashMap<Integer, String> list = new HashMap<>();
        HashMap<Integer, String> list2 = new HashMap<>();
        Scanner scan = new Scanner ( new File("block.txt")).useDelimiter(delim);
        String tmp;
        int f = 0;
        while(scan.hasNext()){
            tmp = scan.next();
            list.put(f, tmp);
            System.out.println(tmp);
            tmp = scan.next();
            list2.put(f, tmp);
            System.out.println(tmp);   
        }

       System.out.println(list);
        System.out.println(list2);

        scan.close();
    }
}

Niestety, gdy używam w HashMap Boolean to wyrzuca błąd, gdy próbuje przypisać domyślną wartość false.
Ale mój problem polega na tym, że do HashMap nie mogę poprawnie wczytać literek, na moje oko jest problem z wyrażeniem regularnym. Zmienna 'delim'. Czy ktoś może powiedzieć gdzie jest błąd ?