Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    [java] classe dentro classe

    VVoVe: la parte dopo gli asterischi devo tenerla uguale e fare dei metodi interni alla classe di supporto all'albero..il main dove lo metto? ho provato questa semplice dichiarazione ma mi da errore


    1
    codice:
    public class IntTree
    {
    
    public static void main(String[] args){
      root = new Node();
      //root.data = null;
    
    
    }
    
    
    // ********************
      private Node root;
      private class Node
        {
          public int data;
          public Node left;
          public Node right;
        }
    
    
    }

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Il problema non è la classe interna, ma il fatto che nel main, che è un metodo static, vuoi accedere al campo root, che non è un campo static della classe IntTree.

    Inizializza il campo root nel costruttore della classe:

    codice:
    public class IntTree
    {
    
    public IntTree(){
    	root = new Node();
    }
    
    
    public static void main(String[] args){
    
    .....
    ....
    
    }
    
    
    // ********************
      private Node root;
      private class Node
        {
          public int data;
          public Node left;
          public Node right;
        }
    
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    mi faresti un piccolo esempio per dare un numero alla radice..

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    codice:
    public class IntTree
    {
    
    public IntTree(){
    	root = new Node();
            root.data = 0
    }
    
    
    public static void main(String[] args){
    
    .....
    ....
    
    }
    
    
    // ********************
      private Node root;
      private class Node
        {
          public int data;
          public Node left;
          public Node right;
        }
    
    }
    oppure ti definisci in costruttore di Node che prende in in put il valore numerico, oppure implementi un metodo public in IntTree che prende un intero e che crea un nuovo nodo nell'albero con quel valore. Dipende da cos'è che vuoi fare...

  5. #5
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao in alternativa potresti fare:
    public class IntTree
    {

    public static void main(String[] args){
    IntTree intTree = new IntTree();
    Node root = intTree.new Node();
    root.data = 1000;


    }


    // ********************
    private Node root;
    private class Node
    {
    public int data;
    public Node left;
    public Node right;
    }


    }
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    ok grazie a tutti e due, per gli esempi pratici!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.