Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Java: metodi statici generici

    salve a tutti!
    Vorrei gentilmente chiedervi se sapete dirmi cosa c'è di sbagliato nel metodo che ho allegato sotto.
    il metodo children restituisce una collezione iterabile dei figli del nodo passato cm argomento.
    Il metodo depth restituisce la profondità di un nodo.
    il metodo positions() restituisce un iteratore delle posizioni ossia Iterable<Position<E>>.
    Il compilatore mi dice che il metodo dovrebbe restituire un Iterable<Position<E>> ma è proprio cio' che restituisco..
    Rigrazio tutti anticipatamente!
    : /*Prende in input un albero T e un intero i e restituisce una collezione iterabile di tutti i nodi a profondità i*/
    public static<E> Iterable<Position<E>> atDepth(BinaryTree<E> T, int k)
    {
    int depth=0;
    LinkedTree<E> t= (LinkedTree<E> ) T;
    PositionList<E> children= new NodePositionList<E>();
    if (k==0)
    children.addLast(T.root().element());
    else
    {
    PositionList<Position<E>> parent= new NodePositionList<Position<E>>();
    for (Position<E> pos: T.children(T.root()))
    children.addLast(pos.element());
    while ( (depth=t.depth(children.first())) < k)
    {
    children=null;
    for (Position<E> pos: parent)
    children.addLast(pos.element());
    for (Position<E> p: parent)
    for (Position<E> child: T.children(p))
    children.addLast(child.element());
    }
    return children.positions();
    }
    }:

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    Da quello che ti riporta il compilatore sembra che il problema non sia tanto nel metodo atDepth quanto in position, quindi eventualmente posta il codice relativo a position.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.