ayuda con nodos

venedan

Lanero Regular
26 Abr 2007
44
bueno señores primero que nada saludos y disculpen la molestia lo que pasa es que estoy viendo programacion java y el java como que no es mi fuerte y por eso queria pedir ayuda con este codigo que no se como hacerlo estoy trabajando con nodos y esas cosas y hay algunas cosas que no tengo muy claras por ejemplo veamos el siguiente codigo:

aqui estoy haciendo la clase nodo

PHP:
package tienda;
public class nodo {
	protected String n;
	 nodo  sig;	 	
public nodo(String m) {
n = m;
sig = null ;
}
}

aqui estoy haciendo la clase lista con los metodos

PHP:
package tienda;
public class lista {
 	private nodo i;

public lista() {
 	i = null;
 }
public void agregar (nodo c) {     //(o tambien el codigo)
       if (i == null) {
 		i = c;
 	}
  else {
  	c.sig = i;
  	i = c;
  }  
 }
public void descrip(nodo c) {
 if (i == null) {
 		i = c;
 	}
 	else {
 		c.sig = i;
 		i = c;
 	}
  }
public void exist(nodo c) {
  	if (i == null) {
  		i = c;
  	}
	else {
		c.sig = i;
		i = c;
	}
  }
public void precio(nodo c) {
  	if ( i == null) {
  		i = c;
  	}
  	else {
  		c.sig = i;
  		i = c;
  	}
  }
public void mostrar() {
  	 nodo temp = i;
  	 if (temp != null) {
  	  	 while (temp != null) {
  	    	  	     System.out.println(temp.n);
  			temp = temp.sig;
  			}
  		}
  	}
 public void busqueda(String bus){
	nodo temp = i;
	int pos=1,cont =0;
		if(temp!=null){
	while(temp!=null){
		if(bus==temp.n){
		System.out.println("Si se encuentra en la lista en la posicion: "+i);
	cont++;
	}
	temp=temp.sig;
	pos++;	
		}
   if(cont==0) {
System.out.println("No se encuentra en la lista");
     }
   }
  }
}

ahora mi duda es que es lo que tengo que modificar o cambiar en el codigo para que por ejemplo en la clase principal me pida el codigo del producto que esta en STRING y si esta me muestre la informacion en la pantalla lo hice de esta forma pero nada el ejemplo consiste en una tienda en donde tengo que agregar el codigo del producto (funcion agregar) la descripcion (funcion descrip) la cantidad en existencia (funcion exist) el precio (funcion precio) y a todos desde la clase principal uso precio, existencia y codigo que deberia ser numeros pero lo use como string pero no se como haria con la descripcion ya que esa si es String muchas gracias y les agradesco la ayuda
 

acertijo_x

Lanero Regular
17 Jun 2005
47
Prueba cambiando el operador "==" por el metodo "equals" de los String, normalmente así es como deberian compararse dos cadenas, por otro lado no veo porq no funcione.
PHP:
public void busqueda(String bus){ 
     nodo temp = i; 
     int pos=1,cont =0; 
     if(temp!=null){ 
          while(temp!=null){ 
               [B]if(bus.equals(temp.n)){[/B] 
                    System.out.println("Si se encuentra en la lista en la posicion: "+[B]pos[/B]); 
                    cont++; 
               } 
               temp=temp.sig; 
               pos++;     
          } 
          if(cont==0) { 
               System.out.println("No se encuentra en la lista"); 
          } 
     } 
}
 

acertijo_x

Lanero Regular
17 Jun 2005
47
Disculpa se me pasaron los b y /b, asi deberia quedar:
PHP:
public void busqueda(String bus){  
     nodo temp = i;  
     int pos=1,cont =0;  
     if(temp!=null){  
          while(temp!=null){  
               if(bus.equals(temp.n)){
                    System.out.println("Si se encuentra en la lista en la posicion: "+pos);  
                    cont++;  
               }  
               temp=temp.sig;  
               pos++;      
          }  
          if(cont==0) {  
               System.out.println("No se encuentra en la lista");  
          }  
     }  
}
 

venedan

Lanero Regular
26 Abr 2007
44
ok mira les explico yo quiero crear un programa (usando nodos) que me pida el codigo del producto, la descripcion del producto, la cantidad de productos existente y el precio ok todo bien hasta alli

ya hice el programa y me agrega cuantos productos yo quiera.

ahora el problema es que yo en la clase nodo defini que recibiera un constructor del tipo String m, y el problema como tal es que en la clase principal todos los datos tanto como el codigo,la descripcion,la cantidad de productos y el precio lo use como String entonces

lo que yo queria saber es si hay otra forma para que le pase los parametros como deberia ser es decir la cantidad de productos como enteros y el precio como double y lo demas como string usando nodos esa es toda mi duda o si obligatoriamente todos los datos lo tengo que usar del tipo string
 

Tr0nad0r

Lanero Reconocido
8 Mar 2004
8,108
Pues modifica la clase nodo y crea el constructor tal y como lo quieres

PHP:
package tienda;
public class nodo {

 protected String nomb;
 protected String desc;
 protected int codigo;
 protected int cant;
 protected double precio;
 nodo  sig;         
  
   public nodo(String n, String d, int cod, int c, double p) {
    nomb = n;
    desc = d;
    codigo = cod;
    cant = c;
    precio = p;
    sig = null ;
   }
}

y en el programa principal ahora pasas cada uno de los parametros :p
 

venedan

Lanero Regular
26 Abr 2007
44
exactamente esa era la duda que tenia o que tengo que no sabia si en la clase nodo se podia colocar todos los parametros que yo quiera yo pensaba que solo se podia usar uno

voy a intentarlo de esa forma a ver que tal

gracias y saludos
 

Los últimos temas