Foros del Web » Programación para mayores de 30 ;) » Java »

¡Ayuda con arreglos por favor!

Estas en el tema de ¡Ayuda con arreglos por favor! en el foro de Java en Foros del Web. Hola que tal. Mi problema es este... Estoy haciendo un programita donde en una opcion del menu "paciente" tengo que escribir sus tratamientos. Para esto ...
  #1 (permalink)  
Antiguo 02/06/2010, 20:16
 
Fecha de Ingreso: junio-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Exclamación ¡Ayuda con arreglos por favor!

Hola que tal. Mi problema es este...

Estoy haciendo un programita donde en una opcion del menu "paciente" tengo que escribir sus tratamientos. Para esto debo utilizar un arreglo, pero la verdad no se muy bien...

Segun yo el arreglo se debe declarar asi...

private String [] tratamiento; // ¿Declaro mi variable tratamiento de tipo arreglo?

el constructor...

public CPaciente(String n, String d, String t, int e, char s, String cp, int c, String m, String di, String [] tr, String fi) // Las otras variables ahorita no importan mucho
// solo la de String [] tr, ¿Esta bien declarada?

...
asignarTratamiento (tr); // ¿Esto esta bien si trabajo con arreglos?
...

Y ahora si los metodos...

public void asignarTratamiento(String [] tr){ // Se supone que este metodo
this.tratamiento = tr; // debe escribir los tratamientos
} // en un arreglo...

public String [] obtenerTratamiento(){ // Se supone que este metodo
return tratamiento; // debe regresar uno a uno los
} // tratamientos que se escriban



Bueno y ya luego en mi menu, cuando seleccione tratamientos es algo asi...

System.out.println("Tratamiento:");
tratamiento = CLeeDatos.LeeDato(); // ¿Pero como le hago para guardar todos
// los tratamientos sin importar cuantos
// sean?

Gracias. Sé que algun hermano programador me podra ayudar. de antemano muchas gracias...
  #2 (permalink)  
Antiguo 02/06/2010, 20:24
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: ¡Ayuda con arreglos por favor!

Los Array[] ya pasaro de moda.. sobre todo en JAVAAAAAAAAAAAAAAAAAAAAAA
investigá collections (colecciones)
..no te voy decir las contras y pros (si existe alguno) de estos en comparación con los Array porque no va hacer falta.. Suerte

-> java.util.List
-> java.util.Set
hay mas pero estos son los mas importantes.
  #3 (permalink)  
Antiguo 02/06/2010, 21:58
 
Fecha de Ingreso: junio-2010
Mensajes: 16
Antigüedad: 13 años, 10 meses
Puntos: 6
Sonrisa Respuesta: ¡Ayuda con arreglos por favor!

Hola al igual que FiruzzZ te recomiendo aprender listas... con ellas podras manejar arreglos dinamicos te una tamaño indeficdo, a diferencia de los arreglos donde el tamaño es fijo... pero de todas formas tratare de ayudarte con lo que necesitas...

por lo que entendi... defines un arreglo String donde almacenaras el nombre de los tratamientos asociados al paciente, por ejemplo una pastillita al levantarse.... :P

Código PHP:
public class Tratamiento {

    
//aqui guardaras el nombre de los tratamientos, por ejemplo, una pastillita al levantarse :P
    
private String[] tratamientos;
    
//aqui se almacenara el numero de tratamientos asociados
    
private int numTratamientos;

    
//constructos, este recivira un arreglo con los los nombres de los tratamientos y la cantidad de tratamientos que contiene
    
public Tratamiento(String[] tratamientosint numTratamientos) {


        
this.tratamientos tratamientos;
        
this.numTratamientos numTratamientos;
     }


    
//este no recivira nada, pero inicializara los valosres para que posteriormente se ingresen
    
public Tratamiento(){

        
//declaramos un arreglos de 20 celdas para almacenar los tratamientos
        
this.tratamientos = new String[20];
        
        
//se inicializa en 0 ya que en un principio no abra ningun tratamiento asociado
        
this.numTratamientos 0;
    }
    
    
//
    
    
public boolean asignarTratamiento(String tratamiento){
        
        
boolean asignado false;
        
        if (
this.numTratamientos this.tratamientos.length){
            
            
asignado true;
            
            
this.tratamientos[this.numTratamientos] = tratamiento;
            
            
this.numTratamientos++;
        }
        
        return 
asignado;
    }
    
    
//ahora van los set y get
    //set y get son precociciones de los nombres de los metodos como te daras cuenta
    //get retona un valos, y set asigna un valor

    
public int getNumTratamientos() {
        return 
numTratamientos;
    }

    public 
void setNumTratamientos(int numTratamientos) {
        
this.numTratamientos numTratamientos;
    }

    public 
String[] getTratamientos() {
        return 
tratamientos;
    }

    public 
void setTratamientos(String[] tratamientos) {
        
this.tratamientos tratamientos;
    }




una recomndacion... en los parametros que le diste a tu constructor mas arriba... te recomiendo no poner el abecedario jojojo :P se mas claro con los nombres de las varialbe y d, e,tr, ds, etc ya que mientras mas grande se hace el codigo se hace menos manejable y no sabras para que es cada variable :P
  #4 (permalink)  
Antiguo 02/06/2010, 22:51
 
Fecha de Ingreso: marzo-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: ¡Ayuda con arreglos por favor!

Hola migwel pues concuerdo con ellos utiliza colecciones puedes utilizar el ArrayList que a mi parecer creo que te ayuda a lo que quieres algo asi te quedaria

Código:
// el paquete que necesitas para el ArrayList
import java.util.ArrayList;

// declaras tu ArrayList y le dices que solo reciba String
ArrayList<String> tratamiento = new ArrayList<String>();

// y para guardar datos en este basta con poner
tratamiento.add("tratamiento1");  // te lo guarda en el lugar 0 como un arreglo
tratamiento.add("tratamiento2");  // te lo guarda en el lugar 1 y asi sucesivamente
// el array crece tanto como lo necesites asi que no necesitas declarar una dimension inicial

// y para recuperarlos solo pones
tratamiento.get(0);  dependiendo del lugar que quieras asi como los arreglos
tratamiento.get(1);
sahch una duda tu pones tu arreglo fijo no?? de 20 espacios pero en caso de que quiera mas espacios ya no se podria guardar nada o si??

bueno pero si lo necesitas con arreglos yo cuando tenia que hacer algo parecido lo que hacia aunque no creo que sea lo mas correcto era declarar dos arreglos de dimensiones dada por una variable cada uno inicialmente uno, y utilizaba el primer arreglo para recibir los datos y el segundo como un respaldo y al final aumentaba uno a la variable para que si queria volver a registrar algo ahora el espacio era 2 pero como "iniciaba" de nuevo el primer arreglo para hacerlo mas grande se perdia la info, y para eso usaba el respaldo primero iniciaba el arreglo con un espacio mas, despues "recuperaba" la info del respaldo y ya despues asignaba el nuevo registro y hacia lo mismo con el respaldo.

Pero yo te sugeriria las colecciones, espero y te sirva.

Saluditos
  #5 (permalink)  
Antiguo 03/06/2010, 21:32
 
Fecha de Ingreso: junio-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: ¡Ayuda con arreglos por favor!

Gracias a todos...voy a probar a ver si me sale...Gracias...¿Saben de un buen libro de Java con programacion orientada a objetos? Gracias.

Etiquetas: arreglos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:09.