Java - Listas en java

 
Vista:
sin imagen de perfil

Listas en java

Publicado por carlos (2 intervenciones) el 02/03/2014 20:47:27
hola acudo a ustedes por que no se que es lo que estoy haciendo mal,tengo este programa que hice en netbeans y es sobre listas circulares como quitarlas,buscar en ellas y como ilo hice insertar un dato en una lista,,no se si es que mi logica esta mal o que pero no me bota ningun error pero cuando lo voy a ejecutar no hace nada,me podrian ayudar ustedes a ver si algo de lo que e hecho tiene algun error o esta mal declarado llevo una semana intentando correr el programa y no pude solo,agradezco cualquier opinion
post data : estoy aprendiendo XD

// en esta parte cargo todas las instrucciones de eliminar,buscar e insertar


package listacircular;

import java.awt.Graphics;

public class lista {
class listacircular{
nodo cab;
listacircular (){
cab= null;
}

public void insertar (int n ){
int contador=0;
nodo nuevo;
nuevo=new nodo(n);
if(cab==null){
nuevo.sig=nuevo;
contador=contador+1;
}
else{
nuevo.sig=cab.sig;
cab.sig=nuevo;
contador=contador+1;
}
cab=nuevo;
}
public void listar(Graphics g){

nodo q=cab;
int col=0;
if(cab==null){
return;
}
do{
g.drawString(""+q.info,15+ col*45,60);
q=q.sig;
col++;
}while(q!=cab);
}
public nodo buscar(int n){
nodo q=cab;
if(cab==null){
return null;
}do{
if(q.info==n)
return q;
q=q.sig;

}while(q!=cab);
return null;
}
public int retirar (nodo p){
nodo q;
if(cab == null){
return -1;

}
if(p == null){
return -1;}

if(cab == cab.sig){

return -1;
}
q=p.sig;
p.sig=q.sig;
if(q==cab)
cab=p;
return 1;
}
}



}



//en esta parte imprimo los datos no se si aqui es donde este el error




package listacircular;

import java.awt.Button;
import java.awt.Event;
import java.awt.Graphics;
import java.awt.TextField;
import javax.swing.JApplet;


public class ListasCir extends JApplet {
int sw;
int numero;
ListaCircular lista =new ListaCircular();
TextField entra = new TextField(4);
TextField retirar = new TextField(4);

Button listar = new Button("Listar");

public ListasCir(){
}
public void init()
{
add(entra);
add(listar);
add(retirar);

entra.requestFocus();
resize(320,240);

}
public void paint (Graphics g)
{
if(sw==1){
lista.insertar(numero);

}if(sw==2){

lista.listar(g);
}
if(sw==3){
nodo p= lista.buscar(numero);
if(p==null)
g.drawString("No existe nodo despues de p", 15, 50);
else {
if(lista.retirar(p) !=-1)
g.drawString("Retirado nodo despues de"+numero,14, 50);
else g.drawString("Nose hizo ningun retiro",15,50);
}
}


}
public boolean action (Event e, Object o){

if(e.target==entra){
String s=entra.getText();
Integer i =new Integer(s);
numero = i.intValue();
entra.setText("");
sw=1;
repaint();
return true;
}
if(e.target==retirar){

String s=retirar.getText();
Integer i = new Integer(s);
numero = i.intValue();
retirar.setText("");
sw=3;
repaint();
return true;
}
if(e.target==listar){
sw=2;
repaint();
return true;

}
return false;
}


}


}
//aqui creo el nodo

package ListaCircular;

public class nodo {
int info;
public nodo (int info){
this.info=info;
}
nodo sig;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder