Как выяснить, какие параметры нужны моему методу дерева? - PullRequest
0 голосов
/ 13 февраля 2020

Это ошибка, которую я получаю

  startTree.insert(data[0], Integer.parseInt(data[1]), startTree);
           ^
  symbol:   method insert(String,int,TwoThreeTree)
  location: variable startTree of type TwoThreeTree

, хотя у меня есть этот метод в классе TwoThreeTree

public static void insert(String key, int value, TwoThreeTree tree) {

вот как я сделал два дерево

public static void main(String[] args) {
        /* Enter your code here. Read sc from STDIN. Print output to STDOUT. Your class should be named Solution. */
        Scanner sc = new Scanner(System.in);
        int intSc = sc.nextInt();
        TwoThreeTree startTree = new TwoThreeTree();     

        for (int i = 0; i < intSc + 1; i++) {
            String planetMap = sc.nextLine();
            if (planetMap.length() == 0) {
                continue;
            }
            String[] planets = planetMap.split(" ");
            startTree.insert((String)planets[0], (int)Integer.parseInt(planets[1]), (TwoThreeTree)startTree);
        }



Почему я получаю эту ошибку? Я не уверен, почему кроме этого метода не может быть опубликован c? но я сделал это publi c, и он все еще не работал.

1 Ответ

0 голосов
/ 13 февраля 2020

Вы получаете эту ошибку, когда пытаетесь вызвать метод для объекта, который не существует.

Пример использования jshell,

jshell> Integer x = 100;
x ==> 100

jshell> x.multiply(2)
|  Error:
|  cannot find symbol
|    symbol:   method multiply(int)
|  x.multiply(2)
|  ^--------^

Так в вашем примере startTree нет метода insert.

Я не знаю тип startTree, но попробуйте привести к TwoThreeTree, если он имеет тип TwoThreeTree

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...