Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Domanda d'esame

  1. #1

    Domanda d'esame

    Buonasera a tutti, posto una domanda a scelta multipla capitatami all'esame sperando di non farvi annoiare troppo !


    Domanda 4
    Si consideri la seguente classe Nodo
    class Nodo {
    public Nodo next;
    public Object elem;
    public Nodo(Object e, Nodo n) {
    this.elem=e; this.next=n;
    }
    }
    e il seguente frammento di programma
    Nodo init = new Nodo("A",new Nodo("B",new Nodo("C",null)));
    Nodo p=init.next;
    p.next=p.next.next;

    Una sola delle seguenti affermazioni è corretta. Quale?
    A Il nodo etichettato con "B" viene eliminato dalla SCL puntata da init.
    B Il nodo etichettato con "C" viene eliminato dalla SCL puntata da init.
    C Si verifica un'eccezione di tipo NullPointerException.
    D Il frammento di programma viene eseguito correttamente e la SCL puntata da init non viene modificata.


    Secondo voi?
    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: Domanda d'esame

    Originariamente inviato da Inggestionale87
    Buonasera a tutti, posto una domanda a scelta multipla capitatami all'esame sperando di non farvi annoiare troppo !


    Domanda 4
    Si consideri la seguente classe Nodo
    class Nodo {
    public Nodo next;
    public Object elem;
    public Nodo(Object e, Nodo n) {
    this.elem=e; this.next=n;
    }
    }
    e il seguente frammento di programma
    Nodo init = new Nodo("A",new Nodo("B",new Nodo("C",null)));
    Nodo p=init.next;
    p.next=p.next.next;

    Una sola delle seguenti affermazioni è corretta. Quale?
    A Il nodo etichettato con "B" viene eliminato dalla SCL puntata da init.
    B Il nodo etichettato con "C" viene eliminato dalla SCL puntata da init.
    C Si verifica un'eccezione di tipo NullPointerException.
    D Il frammento di programma viene eseguito correttamente e la SCL puntata da init non viene modificata.


    Secondo voi?
    Grazie a tutti.
    Metti il codice fra tag CODE

    Direi che viene eliminato il nodo etichettato con C. La lista è: A B C null, dove init è il nodo etichettato con A.

    codice:
    Nodo p = init.next;  // p = B
    p.next = p.next.next;  // p.next = null
    Quindi B perde il riferimento a C, eliminando di fatto quest'ultimo dalla lista.

  3. #3
    Grazie per il consiglio e per la risposta tempestiva. Il mio dubbio era proprio sulla dicitura

    Mi permetto di approfittare ancora della tua gentilezza.
    Considerando la stessa classe Nodo definita in precedenza, cosa stampa (se stampa) il seguente metodo?

    codice:
     public String toString() { 
    if (next==null) return elem.toString(); 
    else return elem+" "+this.next; 
    }
    } 
    public class Test { 
    public static void main(String[] args) { 
    Nodo init = new Nodo("A",new Nodo("B",new Nodo("C",null))); 
    System.out.println(init); 
    } 
    }
    Grazie ancora

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Inggestionale87
    codice:
     public String toString() { 
    if (next==null) return elem.toString(); 
    else return elem+" "+this.next; 
    }
    } 
    public class Test { 
    public static void main(String[] args) { 
    Nodo init = new Nodo("A",new Nodo("B",new Nodo("C",null))); 
    System.out.println(init); 
    } 
    }
    Grazie ancora
    piccola nota: se il codice non è indentato, il tag CODE serve gran poco, resta comunque illeggibile
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Rimane il fatto che puoi anche provarlo il codice per vedere cosa stampa.

    Il regolamento interno di questa sezione indica chiaramente che il forum serve a discutere di problemi di programmazione, non a ottenere soluzioni a esercizi o compiti per casa.

    Devo chiudere.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.