Foro de elhacker.net

Programación => Java => Mensaje iniciado por: m@o_614 en 5 Junio 2012, 22:16 pm



Título: clase Vector
Publicado por: m@o_614 en 5 Junio 2012, 22:16 pm
Saludos estoy utilizando la clase Vector del API de Java, para un programa que me implementa 3 clases una tupla y dos administradoras de tuplas, esto es lo que llevo hecho por lo pronto:

Código
  1. import java.util.Vector;
  2.  
  3. class Materia{
  4. public String clave,nombre;
  5.  
  6. public Materia(String clave,String nombre){
  7. this.clave=clave;
  8. this.nombre=nombre;
  9. }
  10. }
  11.  
  12. class Fila{
  13. private Vector<Materia> fila;
  14.  
  15. public Fila(){
  16. fila=new Vector<Materia>();
  17. }
  18.  
  19. public void agregar(String clave,String nombre){
  20. Materia m;
  21. m=new Materia(clave,nombre);
  22. fila.add(m);
  23. }
  24.  
  25. public Materia dameSiguiente(){
  26. }
  27. }
  28.  
  29. class Pila{
  30. private Vector<Materia> pila;
  31.  
  32. public Pila(){
  33. pila=new Vector<Materia>();
  34. }
  35.  
  36. public void push(String clave,String nombre){
  37. Materia m;
  38. m=new Materia(clave,nombre);
  39. pila.add(m);
  40. }
  41.  
  42. public Materia pop(){
  43. if(vacia()){
  44. System.out.println("Error!! Pila vacia");
  45. }
  46. return;
  47. }
  48. public boolean vacia(){
  49. return tope == -1;
  50. }
  51. }
  52.  
  53. public class FilaYPila {
  54.  
  55. public static void main(String[] args) {
  56. Fila fila= new Fila();
  57. Pila pila= new Pila();
  58. Materia mat;
  59.  
  60. fila.agregar("CC200","Programación Orientada a Objetos");
  61. fila.agregar("CC201","Taller de Programación Orientada a Objetos");
  62. fila.agregar("CC202","Estructuras de Datos");
  63. fila.agregar("CC203","Taller de Estructuras de Datos");
  64.  
  65. pila.push("CC200","Programación Orientada a Objetos");
  66. pila.push("CC201","Taller de Programación Orientada a Objetos");
  67. pila.push("CC202","Estructura de Datos");
  68. pila.push("CC203","Taller de Estructuras de Datos");
  69.  
  70. System.out.println("Imprimiendo elementos de la fila");
  71. mat=fila.dameSiguiente();
  72. System.out.println(mat);  //Imprimase "CC200 Programacion Orientada a Objetos"
  73. mat=fila.dameSiguiente();
  74. System.out.println(mat);  //Imprimase "CC201 Taller de Programacion Orientada a Objetos"
  75. mat=fila.dameSiguiente();
  76. System.out.println(mat);
  77. mat=fila.dameSiguiente();
  78. System.out.println(mat);
  79.  
  80. System.out.println("Imprimiento elementos de la pila");
  81. mat=pila.pop();
  82. System.out.println(mat);  //Imprimase "CC203 Taller de Estructuras de Datos"
  83. mat=pila.pop();
  84. System.out.println(mat);  //Imprimase "CC202 Estructuras de Datos"
  85. mat=pila.pop();
  86. System.out.println(mat);
  87. mat=pila.pop();
  88. System.out.println(mat);
  89. }
  90.  
  91. }
mi duda la tengo en la función vacia, que la tengo que utilizar para saber si puedo desapilar un objeto o no, pero no se si tengo que implementarla yo como lo estoy haciendo o si no porque ya esta en el API

gracias


Título: Re: clase Vector
Publicado por: тαптяα en 5 Junio 2012, 22:41 pm
Así habiendole echado un vistazo rápido al código, veo que no trabajas con el tope, que deberías aumentarlo cuando añadas a la pila. Y disminuir cuando uses pop()