elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  denuevo yo con mis problemas en java(recorrer el arraylist)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: denuevo yo con mis problemas en java(recorrer el arraylist)  (Leído 17,491 veces)
Toryas

Desconectado Desconectado

Mensajes: 44



Ver Perfil
denuevo yo con mis problemas en java(recorrer el arraylist)
« en: 26 Octubre 2007, 04:51 am »

hola nuevamente yo pregutnando cosas XD

bueno miren estoy recorriendo un array en busca de un dato de un objeto dentro de el que contenca cierto dato quiero que me retorne el objeto de la clase silo encuentra pero si no lo llegace a encontrar   me tire un mensage de error o algo asi pero miren tengo esto

Código
  1. public Cliente buasca(String vrut){
  2. for(int i = 0; i < clientes.size(); i++){
  3.     if(clientes.get( i ) == vrut){
  4.                 return clientes.get(i);
  5. }
  6. else{
  7. System.out.println("no encontrado");
  8. }
  9.  

pero me tira un error al compilar que es este :
incompatible types

que esta mal aka?


En línea

Toryas

Desconectado Desconectado

Mensajes: 44



Ver Perfil
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #1 en: 26 Octubre 2007, 06:19 am »

modifique el codigo poruqe lo teni amalito miren asi kedo pero me tira = un eeror pongo toda la clase

Código
  1. import java.io.*;
  2. import java.util.*;
  3. public class Listas{
  4. public Cliente algo;
  5. public static Escritura clientx = new Escritura();
  6. private ArrayList clientes = new ArrayList();
  7.  
  8. public void addCliente(Cliente cliente)throws IOException{
  9. clientes.add(cliente);
  10. clientx.abrir();
  11. clientx.escribir(cliente);
  12. clientx.cerrar();
  13. }
  14. public Cliente buasca(String vrut){
  15. for(int i = 0; i < clientes.size(); i++){
  16.     algo = clientes.get(i);
  17.     if(algo.getRut() == vrut){
  18.           return algo;
  19. }
  20. else{
  21. System.out.println("no encontrado");
  22. }
  23. }
  24. }
  25. }

y el errro keme tira es en la linea

Código
  1. algo = clientes.get(i);

me dice :incompatible types


En línea

Azulf

Desconectado Desconectado

Mensajes: 7



Ver Perfil
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #2 en: 26 Octubre 2007, 07:44 am »

Haber haber, recien estoy viendo la clase ArrayList, y al parecer es mejor que la clase Vector,en fin, ese metodo get(int i); te devuelve un objeto del tipo Object, lo que deberias hacer es truncarlo o sea asi:

Código
  1. algo = (Cliente)clientes.get(i);
  2.  

Saludos
En línea

darkraider

Desconectado Desconectado

Mensajes: 231



Ver Perfil
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #3 en: 26 Octubre 2007, 09:37 am »

Hola buenas, si usas la version nueva del SDK podes declarar los List y sus implementaciones (o sea los ArrayList tambien) especificando el tipo de datos que van a querer (programacione genérica o algo asin). Entonces podes cambiar
Código:
private ArrayList clientes = new ArrayList();
por lo siguiente:
Código:
private ArrayList clientes;
public NombreDeLaClase(...)
{
  clientes = new ArrayList<cliente>();
}
Nota: te inicialicé la variable clientes en al constructora porque se considera una "buena práctica".
 A partir de esto, no hace falta haceer el casting de Clinetes. Salu2
En línea

Curioso de mi...
Toryas

Desconectado Desconectado

Mensajes: 44



Ver Perfil
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #4 en: 26 Octubre 2007, 16:22 pm »

jo bueno gracias a Azulf parac eque se arreglo el problema pero me tira otro error ahora XD:

Código
  1. import java.io.*;
  2. import java.util.*;
  3. public class Listas{
  4. public Cliente algo;
  5. public static Escritura clientx = new Escritura();
  6. private ArrayList clientes = new ArrayList();
  7.  
  8. public void addCliente(Cliente cliente)throws IOException{
  9. clientes.add(cliente);
  10. clientx.abrir();
  11. clientx.escribir(cliente);
  12. clientx.cerrar();
  13. }
  14. public Cliente buasca(String vrut){
  15. for(int i = 0; i < clientes.size(); i++){
  16.     algo = (Cliente)clientes.get(i);
  17.     if(algo.getRut() == vrut){
  18.           return algo;
  19. }
  20. }
  21. System.out.println("no encontrado");
  22. }
  23.  
  24. }

missing return statement señalando el } que esta abajo del System.otut.println(..
En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #5 en: 26 Octubre 2007, 16:47 pm »

Lo que pasa es que tienes que intentar retornar algo, aparte de lo que tienes en el if.
En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #6 en: 26 Octubre 2007, 16:52 pm »

Te explico un poco mejor... cuando abres un método que retorne un valor tienes que especificar un return:

Código
  1. public TipoRetorno metodo()
  2. {
  3.    .......
  4.    return objetoTipoRetorno;
  5. }

Hasta hay creo que lo tienes claro. Ahora, cuando necesitas evaluar alguna condición, y luego de ello retornar o no un valor NO debes hacer algo como esto:

Código
  1. public TipoRetorno metodo()
  2. {
  3.    if(condicion)
  4.    {
  5.            .......
  6.            return unObjetoTipoRetorno;
  7.    }
  8. }

Sino así:

Código
  1. public TipoRetorno metodo()
  2. {
  3.    if(condicion)
  4.    {
  5.            .......
  6.            return unObjetoTipoRetorno;
  7.    }
  8.    return objetoTipoRetorno;
  9. }

¿Lo pillas?
En línea

Toryas

Desconectado Desconectado

Mensajes: 44



Ver Perfil
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #7 en: 26 Octubre 2007, 17:57 pm »

los siento pero nolo pillo

me merie con eso de

"unObjetoTipoRetorno" y "objetoTipoRetorno"

mira ahora cambie el metodo pa hacer que me retorne un int no mas ai el codigo:

Código
  1. public int buasca(String vrut){
  2. int i;
  3. for(i=0;i<clientes.size();i++){
  4. algo =(Cliente)clientes.get(i);
  5.   if(algo.getRut()==vrut){
  6.   return i;
  7.   }
  8.   return -1;
  9.  
  10. }
  11. }

me tir ale mismo error  y no entiendo lo que me dices
« Última modificación: 26 Octubre 2007, 18:03 pm por Toryas » En línea

Toryas

Desconectado Desconectado

Mensajes: 44



Ver Perfil
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #8 en: 26 Octubre 2007, 18:06 pm »

m.. mira aver si esto esta mejor porlo menos me compila pero crea que hay algo de mas

deje asila cosa:

Código
  1. public int busca(String vrut){
  2. int i;
  3. for(i=0;i<clientes.size();i++){
  4. algo =(Cliente)clientes.get(i);
  5.   if(algo.getRut()==vrut)return i;
  6.   return i;
  7.   }
  8.   return -1;
  9.  
  10. }

me compila pero creo que hay algo que esta sobrando
En línea

Azulf

Desconectado Desconectado

Mensajes: 7



Ver Perfil
Re: denuevo yo con mis problemas en java(recorrer el arraylist)
« Respuesta #9 en: 26 Octubre 2007, 19:29 pm »

Haber, creo que lo que escribió Cristian esta más claro que el agua.
Tu ultimo codigo, si hay algo que sobra, es un  [return i]

Código
  1. public int busca(String vrut){
  2. int i;
  3. for(i=0;i<clientes.size();i++){
  4. algo =(Cliente)clientes.get(i);
  5.   if(algo.getRut()==vrut)return i;
  6.   return i;
  7.   }
  8.   return -1;
  9.  
  10. }
  11.  

Solo sigue el flujo
1.-Entra al método con un parámetro String
2.-Entra al ciclo buscando el si el nombre ia se encuentra en el Array
3.-Si la condición se cumple, entonces retorna la posición en la que se encuentra, se ejecuta el primer (return i) y sale del método, entonces ese segundo return i no tiene sentido
4.-En caso termine el ciclo y nunca se encontró la palabra, indicara que el parametro String no existe y retorna -1

Espero hayas entendido

Saludos
« Última modificación: 26 Octubre 2007, 19:36 pm por Azulf » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Recorrer un Arreglo en Java (Buscar String)
Java
NatzMorel 1 4,214 Último mensaje 14 Junio 2012, 11:31 am
por ollo
java ArrayList en C++
Programación C/C++
<<<-Basura->>> 5 8,529 Último mensaje 4 Abril 2013, 21:48 pm
por naderST
Arraylist de java en c++
Programación C/C++
alvar0ne 0 1,571 Último mensaje 7 Mayo 2013, 05:26 am
por alvar0ne
busqueda elemento ArrayList java
Java
gmc7 0 1,743 Último mensaje 22 Diciembre 2013, 13:43 pm
por gmc7
Recorrer arraylist y eliminar elementos pares
Java
Armonicufer 1 3,996 Último mensaje 10 Noviembre 2016, 21:29 pm
por MayTheLulzBeWithYou
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines