Witam,
Mam problem z zadaniem, w którym mam napisać metodę zwracającą wartość true gdy dostarczony argument zawiera znaki reprezentujące liczby lub false w przeciwnym wypadku.
Wydaję mi się, że dobrze zrozumiałem zadanie i teoretycznie dla poniższych wartości w tabeli wszystko się kompiluje i otrzymuję zgodnie z oczekiwaniem wynik false, ale gdy tylko dodam kolejną wartość w tabeli (np. char tab[] = {'a', 'Z', '9', 'b'}, to program w ogóle się nie kompiluje i nic się nie dzieje.
Powiedzcie proszę czy w ogóle ten sposób rozwiązania jest sensowny, a jeśli tak to w czym tkwi błąd w poniższym kodzie.
import java.util.regex.*;
public class Program {
public static void main(String[] args){
char tab[] = {'a', 'Z', '9'};
System.out.println(method(tab));
for (char i : tab)
System.out.print(i+" ");
}
public static boolean method(char[] data){
boolean result = true;
while (result){
for (char i : data){
String test = String.valueOf(i);
Pattern pattern = Pattern.compile("\\D");
Matcher matcher = pattern.matcher(test);
result = matcher.matches();
}
}
return result;
}
}
Pozdrawiam,