Necesito Ayuda en un proyecto en Java

Hola buenas tardes, tengo un proyecto que hacer y la verdad necesito ayuda, os lo pongo a continuación:

Desarrollar un TAD (clase) que implemente un arbol jd. Un arbol jd
- se emplea cuando la información almacenada en los nodos tiene mas
- de una dimensión, en nuestro caso se almacenarán ristras de caracteres
- (alfabeto español), asi las dimensiones seran todos y cada uno de los
- caracteres del alfabeto, y para cada ristra almacenada, el valor de
- cada dimension sera la frecuencia de aparicion de cada caracter. En
- el arbol hay dos tipos de nodos, unos internos, que discriminan para
- la ordenacion y que almacenan el caracter empleado para discriminar y
- un vector de 10 enlaces, correspondiendo a las frecuencias 0 a 9 de
- dicho caracter y un vector de 10 enlaces que apuntan, si es necesario,
- a una lista simplemente encadenada con las palabras almacenadas.
- Nodos de información.

Tengo una clase TAD, NodoArbol,ListaSimple,NodoListaSimple,Main, estais deacuerdo?

Pero no se declararlas me podeis ayudar??

Public class NodoArbol {
// Atributos
Vector CampoInformación;
Vector hijos;

Pero no se seguir a partir de aqui, podeis ayudarme por favor muchas gracias de antemano

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

>Pero no se declararlas me

>Pero no se declararlas me podeis ayudar??

tu clase:

Public class NodoArbol {
...

Debe de ser escrita así:

public class NodoArbol {
...

"public" está escrito todo en minúsculas.

¿Siguiente duda?

Me ayudas OscarRyz

hola OscarRyz, gracias por responder, me podrias declarar un clase completa con sus métodos y constructores,si no es mucha molestia, para saber como es y que me pueda servir de guión para poder hacer las demás? es que la verdad no se muy bien y veo que tu sabes bastantes, si me pudieras ayudar te lo agradecería mucho.

Un saludo y muchas gracias

Imagen de rodrigo salado anaya

me podrias declarar un clase completa con sus métodos y con...

En esta liga dice toda lo que necesitas... http://download.oracle.com/javase/tutorial/java/javaOO/index.html

Google y otros buscadores son herramientas muy útiles para resolver dudas de programación. Existe mucho material acerca de Java...

Checa el manual, si te atoras en algo pon lo que llevas y seguro la comunidad te ayudara. Incluso si son cuestiones de conceptos, pero ese tipo de preguntas luego son muy contraproducentes, en la comunidad hay mucho chico que se fuma mucho con los conceptos jejejeje.

Java class NodoArbol

Hola Rodrigo, soy novato en el tema de java y claro simplemente queria un poco de ayuda con el problema que expuse en el inicio del tema, y claro tengo exo esto, pero no se seguir y no se si hay que hacer algo mas con esta clase, por eso pido ayuda.

public class NodoArbol {
// Atributos de la clase
vector CampoInformación;
vector hijos;
}
no se seguir, a partir de aqui, no se si tengo que crear un
public NodoArbol ( vector n, vector h)
CampoInformación= n;
hijos= h;

No se si eso estará bien, como lo ves?

Claro: Aquí un ejemplo

Claro.

Aquí un ejemplo sencillo:

import java.util.List;
import java.util.ArrayList;

// Una clase
public class  Persona {
   // atributos privados de la clase
   private int edad;
   private String nombre;
   private List<Persona>  conocidos;

   // Constructor de la clase, sirve para "crear" una instancia (copia)
   // es esta clase
   public Persona ( int edad, String nombre ) {
       this.edad = edad;
       this.nombre = nombre;
       this.conocidos = new ArrayList<Persona>();
   }

  // un metodo publico de esta persona es... agregar un nuevo "conocido"
  public void addConocido( Persona nueva ) {
      conocidos.add( nueva );
   }
   // regresa una representacion de la persona  
   public String toString() {
        return String.format("Persona{ nombre: \"%s\", edad: %d, conocidos: %s}", nombre, edad,  conocidos );
   }
}
 
class Ejemplo {
    public static void main( String ... args ) {
        Persona cooltan = new Persona( 16 , "Cooltan" );
        cooltan.addConocido( new Persona(0x20, "Oscar" ) );
        cooltan.addConocido( new Persona( 20, "Rodrigo"));
        System.out.println( cooltan );
    }
}

Salida:

Persona{ nombre: "Cooltan", edad: 16, conocidos: [Persona{ nombre: "Oscar", edad: 32, conocidos: []}, Persona{ nombre: "Rodrigo", edad: 20, conocidos: []}]}

Espero que el código te sea útil.

Para una explicación más detallada ve el link que te puso Rodrigo.

propuesta codigo

Entonces siguiendo el ejemplo que me has puesto lo podria declarar de la siguiente manera aver si esta bien:

import java.until.*;

public class NodoArbol {
//atributos de la clase
vector CampoInformación;
vector hijos;
//Constructor de la clase
public NodoArbol ( vector frecuencias, vector hijos) {
this.CampoInformación = CampoInformación;
this.hijos = hijos;
}

Estaría bien la definición de la clase NodoArbol de esta manera? atendiendo a lo que pone el enunciado del ejercicio.

Escribe tu código entre los

Escribe tu código entre los tags <code> y </code> para poderlo leer mejor.

vector no es una clase, a menos que la estes definiendo tu. Eso es lo que el compilador te debe de estar diciendo.

clase

ah vale perdon, es que no lo sabia. No, no lo estoy definiendo yo, es lo que saco yo del enunciado del ejercicio, que la clase NodoArbol tiene como atributos un vector de 10 enlaces, correspondiendo a las frecuencias 0 a 9 de dicho caracter y un vector de 10 enlaces que apuntan, si es necesario,
- a una lista simplemente encadenada con las palabras almacenadas. Nodos de información. yo por eso lo he definido asi. Estoy equivocado???

Si, casi nadie lo sabe, pero

Si, casi nadie lo sabe, pero por eso te lo digo :)

Sobre el vector, a lo que me refiero es que en la programación existen tipos de datos y vector no es un tipo de dato conocido. Tienes que definirlo tu mismo ó utilizar uno existente ( por ejemplo java.util.List ). No basta con que lo pongas para que mágicamente exista.

Para continuar con tu trabajo haz lo siguiente:

Primero entiende de que se trata el problema, entiende que es un TAD ( que es un TAD por cierto ), que es un arbol jd, un nodo, una lista etc.

Después escribe, en pseudo código como lo programarías ( olvidate de Java por un momento ) algo como lo que llevas:

//pseudo-codigo
arbol = nuevo ArbolJD()

caracter de tipo Caracter

mientras ( caracter = leeCaracter() != FIN )
hazLoSIguiente:
   arbol.agrega( caracter )
finMientras
etc.
etc.

Este pseudo código te ayuda a aterrizar tu entendimiento en algo más cercano a la programación, sin tener que estarte pelando con el compilador por que tal o cual clase no existe.

También te ayuda a identificar clases, objetos, operaciones y demás y todos lo hacemos, cuando ya tienes experiencia, este pseudocodigo se hace mentalmente y con el tiempo ya ni te darás cuenta.

Cuando tengas claro como va a fluir tu programa pasa al siguiente paso.

Programalo. Ya sabiendo lo que quieres y como lo quieres ( análisis y diseño ) la implementación se vuelve mucho más fácil. Siempre va a haber cosas que no sepas, entonces te podemos ayudar más fácilmente. Ejemplo.

Como escribo "mientras tenga un caracter diferente a fin en java?" he intentado esto while( caracter noEs FIN ) pero me sale el mensaje "FIN is not defined"

O algo así y veras como te llueven las respuestas ( algunas sugiriendote que leas un libro o algo así ) pero verás te te ayudamos.

Ve por partes y te sorprenderá como al final del día tendras tu programa corriendo.

Te dejo más sobre estos pasos http://bit.ly/DelProblemaAlCodigoEn4Pasos

Suerte!

Hola de nuevo, me he dado

Hola de nuevo, me he dado cuenta que el arbol q menciona en el proyecto se refiere a un arbol Trie, mi pregunta es la siguiente:

El arbol Trie tiene dos nodos, un Nodo Desviación y un Nodo Información y los declaro de la siguiente manera:

 
   Private class NodoDesviación extends NodoTrie {
         NodoTrie enlaces [*,0,1,2,3,4,5,6,7,8,9];
         NodoTrie fin;
      Public NodoDesviación(); {
         super();
         enlaces = new NodoTrie [10];
      }
   }

   Private class NodoInformación extends NodoTrie {
         Object elemento;
      Public NodoInformación (Object e) {
         super();
         elemento = e;
      }
   }

Mi duda es, que no se implementar o mas bien definir la clase NodoTrie. Podrían ayudarme?

Gracias