Tengo mis metodos apilar,desapilar,pilavacia,pilalena imprimir pila esoos son mis metodos.
apilo 3 datos 1,2,3 y de ahi pongo n=2 entonces deberia imprimirme asi 1,2,3,1,2,3 y asi dependiendo cuanto le asigne a n ahi sta el metodo q intente hacer no se q esta mal mi metodo es
repetirN
Código
public class TadPila implements Pila { public pilaVacia() { } } private int tope; private int max=4; private int[] Datos; public TadPila() { Datos=new int[max]; //crear la pila vacia } public boolean pilaVacia() { // throw new UnsupportedOperationException("Not supported yet."); if(tope==0) return true; else return false; } public boolean pilaLlena() { //throw new UnsupportedOperationException("Not supported yet."); if(tope==max) return true; else return false; } public void apilar(int dato) { //throw new UnsupportedOperationException("Not supported yet."); if(pilaLlena()){ }else{ tope+=1; Datos[tope]=dato; } } public int desapilar() { // throw new UnsupportedOperationException("Not supported yet."); int dato=-999; if(pilaVacia()){ }else{ dato=Datos[tope]; tope-=1; } return dato; // <editor-fold defaultstate="collapsed" desc="comment"> }// </editor-fold> public void escribirPila(){ int dato; if(!pilaVacia()){ dato=desapilar(); escribirPila(); apilar(dato); } } public void repetirN (Pila p, int n) { int elem, i; if (!p.pilaVacia ()) { elem = p.desapilar (); repetirN (p, n); for (i = 0; i < n; i++){ p.apilar (elem); } } } public void imprimir(){ int dato,i; for(i=0;i<tope+1;i++){ dato=Datos[i]; } } public void Imprime_Datos() { if(pilaVacia()==true) { } else for(int Contador=1;Contador<Datos.length;Contador++) } } /////////////////////esta es mi interfaz///////////////////////////////////////// public interface Pila { boolean pilaVacia(); boolean pilaLlena(); void apilar(int dato); void repetirN(Pila p, int n); int desapilar(); } ////////////////este es mi main///////////////////////// TadPila p1= new TadPila(); int dato = 0; int n=2; p1.apilar(1); p1.apilar(2); p1.apilar(3); p1.escribirPila(); p1.imprimir(); p1.Imprime_Datos(); p1.repetirN(p1, n); }