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 ?