искать в попытках в Java - PullRequest
       14

искать в попытках в Java

1 голос
/ 20 апреля 2011

привет, у меня есть проект, который мне нужен для реализации словаря с помощью попыток ... но теперь я не могу реализовать метод поиска .... мой код здесьесть ошибка в другом утверждении !!!!я хочу заменить корень одним из дочерних элементов, что его значение похоже на первый символ ключа (temp), но я не могу сделать это в «операторе else» ... и почему не могу получить доступ к значениюдетей ??

Ответы [ 2 ]

0 голосов
/ 20 апреля 2011

root = root.children.value.equals (temp) не присваивает root.child пользователю root, а присваивает ему значение true или false, потому что вы проверяете, равно ли оно значению temp или нет.

также java не позволяет иметь оператор if, который возвращает значение различных типов от государственных деятелей if.

это вернет последний корень в цепочке, это значение, которое вы ищете?

попробуй

        TriesNode findFinalRoot(TriesNode root, String key){
                      if(key.length() == 0 )
              return root;
        for(int x = 0 ; x <root.children.lenth(); x++)

          if (key.charAt(0) == root.children.get(x).charAt(0)){
             findFinalRoot(root,key.subString(1)); // here you loss first character       
}      
0 голосов
/ 20 апреля 2011

Хорошо, root - это тип TriesNode, но root.children не того типа, в этом проблема. Вы не можете назначать значения из разных типов. Вы должны объявить переменную типа root.children и затем присвоить это значение. Чтобы напрямую назначить значение root.children для root, вы должны выполнить:

root.Add(root.children)

более или менее ...

...