Autor Tema: comentar codigo con javadoc ejemplo implementación de clase Stack o pila en Java  (Leído 2729 veces)

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Buenas tengo que documentar el siguiente codigo utilizando javadoc, pero no entiendo bien el código

Código: [Seleccionar]

public class Stack {

private int tamaño;
private Vector<Integer> elementos;

public Stack() {

elementos = new Vector<Integer>();
tamaño = 0;
}

public boolean stackVacio () {
if (tamaño==0) {
return true;
}
return false;
}

public void apilar ( Integer o ) {
elementos.add(tamaño, o);
tamaño++;
}

public Integer desapilar () {
try {
if(stackVacio())
throw new ErrorStackVacio();
else {
return elementos.get(--tamaño);
}
} catch(ErrorStackVacio error) {
System.out.println("ERROR: el stack está vacio");
return null;
}
}

public int getNumElements() {
return tamaño;
}

@SuppressWarnings("serial")
class ErrorStackVacio extends Exception {
public ErrorStackVacio() {
super();
}
}

}


« Última modificación: 11 de Junio 2017, 18:00 por Ogramar »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:comentar codigo con javadoc
« Respuesta #1 en: 08 de Abril 2017, 20:04 »
Hola.

El código que presentas es un representación del funcionamiento de la clase Stack, es decir va apilando elementos Integer en este caso y para borrar elementos usa el método desapilar que lo que hace es sacar el último elemento introducido, para que veas en que consiste esta clase, puedes verlo en este enlace:

https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=608:la-estructura-de-datos-pila-en-java-clase-stack-del-api-java-ejemplo-simple-y-ejercicios-resueltos-cu00923c&catid=58&Itemid=180

y la clase Vector que también es usada en este código la puedes ver en este otro enlace:

https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=606:la-clase-vector-del-api-java-metodos-trimtosize-y-ensurecapacity-ejemplo-y-ejercicios-resueltos-cu00922c&catid=58&Itemid=180

Saludos. ;D

javaquery

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 125
    • Ver Perfil
Re:comentar codigo con javadoc
« Respuesta #2 en: 08 de Abril 2017, 20:41 »
gracias
la he documentado asi, queria saber si esta bien
Código: [Seleccionar]

import java.util.Vector;

/**
 * El funcionamiento de la clase Stack va apilando elementos integer
 *
 * @version 1.3 08/04/2017
 * @author javi
 */

public class Stack {
// declaracion de los atributos privados.
private int tamaño;
private Vector<Integer> elementos;

/**
* constructor
*/
public Stack() {

elementos = new Vector<Integer>();
tamaño = 0;
}

/**
* metodo si la cola esta vacia
*
* @return verdadero is la cola esta vacio o falso caso contrario
*/
public boolean stackVacio() {

if (tamaño == 0) {
return true;
}
return false;
}

/**
* metodo para apilar elementos de la clase <code>Stack</code>
*
* @param o
* @param tamaño
*/
public void apilar(Integer o) {
elementos.add(tamaño, o);
tamaño++;
}

/**
* metodo para desapilar elementos, lo que hace es sacar el ultimo elemento
* introducido
         *@return
          *@exception
*/
public Integer desapilar() {
try {
if (stackVacio())
throw new ErrorStackVacio();
else {
return elementos.get(--tamaño);
}
} catch (ErrorStackVacio error) {
System.out.println("ERROR: el stack está vacio");
return null;
}
}

// metodo que devuelve numero elementos
public int getNumElements() {
return tamaño;
}

@SuppressWarnings("serial")
class ErrorStackVacio extends Exception {
public ErrorStackVacio() {
super();
}
}

}


pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:comentar codigo con javadoc
« Respuesta #3 en: 09 de Abril 2017, 12:50 »
Buenas Javi.

El primer comentario lo completaría añadiendo que se apilan objetos de tipo Integer en un vector.

En el constructor no está demás tampoco explicar lo que hace, en este caso crea un Vector y  le asigna un valor por defecto al atributo tamaño.

En el método stackVacio, comprueba si la pila contiene algún elemento usando para ello el valor del atributo tamaño, si dicho valor es igual a 0 devolverá true y en caso distinto devolverá false.

El método apilar añade objetos de tipo Integer en el vector elementos de la clase. Solo recibe un parámetro, en este caso o, puesto que tamaño es un atributo de la clase.

El método desapilar más que sacar elementos del vector lo que hace es simularlo, porque realmente lo que hace es reducir el valor del atributo tamaño restándole uno, para que cuando se quiera volver a introducir un nuevo objeto en el vector elementos se sobreescriban los existentes, pero no borra los anteriores. La verdad que el código es algo incompleto, además lo que hace este método es devolver(return) el último objeto que contiene el vector elementos.

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".