Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - cunian

#1
Java / Re: Guardar ArrayList en archivo txt
9 Junio 2017, 06:27 AM
Hola amigo, aqui te paso dos metodos con los que puedes guardar y cargar datos de los archivos planos.

Con este metodo puedes guardar todos los datos que tengas dentro de tu Arraylist.

Código (java) [Seleccionar]
   //CREA UN OBJETO DE TIPO FILE PARA GENERAR LA RUTA DEL ARCHIVO
    public static File nombre_de_objeto_fichero = new File("src/Archivos_Planos/REmpleados.txt");
    //SE CREA EL ARRAYLISY
    public static Arraylist nombre_de_Arraylist = new Arraylist<>();
   
public static void guardar_datos_de_arraylist() {
        try {
            //SE CREA UN OBJETO DE TIPO BUFFEREDWRITER PARA PODER ESCRIBIR DENTRO DEL ARCHIVO
           
            BufferedWriter bw = new BufferedWriter(new FileWriter(nombre_de_objeto_fichero));
           
            //DEPENDIENDO DEL TIPO DE OBJETOS QUE ESTE GUARDANDO DENTRO DEL ARRAYLIST, RECORRES EL
            //ARRAY Y SEPARAS CADA ATRIBUTO POR TABULACION O COMO QUIERAS.
            //Y AL FINAL DE CADA LINEA HACES UN SALTO.
           
            for (Abs_empleados e : nombre_de_Arraylist) {
                String fecha1 = new SimpleDateFormat("dd/MM/yyyy").format(e.getFecha_nacimiento());
                bw.write(e.getDocumento() + "\t" + e.getNombre_emple() + "\t" + e.getNum_seguridad_s() + "\t" + e.getDireccion()
                        + "\t" + e.getSueldo() + "\t" + e.getGenero() + "\t" + e.getNumero_hijos() + "\t" + fecha1 + "\t" + e.getDepartamento_asignado() + "\r\n");
            }
            bw.close();
        } catch (Exception ex) {
            //Captura un posible error le imprime en pantalla   
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }

#2
Java / Re: Contenedores anidados. (Arraylist)
24 Mayo 2017, 06:45 AM
Hola, mi profesor dijo que el anidamiento lo hiciera de la siguiente manera.

que cuando le diera los atributos a la Abstracción del objeto, dentro de esos atributos ira un contenedor(Arraylist). Y creara una lista(Contenedor) que guardar ese objeto. asi el objeto que se guarda en un Arraylist llevara otro Arraylist dentro de el. Por ejemplo.

Creo la clase con sus respectivos atributos, y uno de esos atributos es un lista de tipo LinkedLis.

Código (java) [Seleccionar]

import java.util.Date;
import java.util.LinkedList;



public class Abs_departamentos {
    private String nombre;
    private long codigo;
    private Abs_empleados emple;
    private Date fecha_dirige;
    public LinkedList<Abs_proyectos> listaproyecto = new LinkedList<>();

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public long getCodigo() {
        return codigo;
    }

    public void setCodigo(long codigo) {
        this.codigo = codigo;
    }

    public Abs_empleados getEmple() {
        return emple;
    }

    public void setEmple(Abs_empleados emple) {
        this.emple = emple;
    }

    public Date getFecha_dirige() {
        return fecha_dirige;
    }

    public void setFecha_dirige(Date fecha_dirige) {
        this.fecha_dirige = fecha_dirige;
    }

    public LinkedList<Abs_proyectos> getListaproyecto() {
        return listaproyecto;
    }

    public void setListaproyecto(LinkedList<Abs_proyectos> listaproyecto) {
        this.listaproyecto = listaproyecto;
    }

    public Abs_departamentos(String nombre, long codigo, Abs_empleados emple, Date fecha_dirige, LinkedList listaproyecto) {
        this.nombre = nombre;
        this.codigo = codigo;
        this.emple = emple;
        this.fecha_dirige = fecha_dirige;
        this.listaproyecto = listaproyecto;
    }
   
}



creo una lista que va guardar departamentos y dentro de los objetos que se guardaran en esta lista llevara, otro linkedlist dentro de ella.
de esta forma se anidan dos contenedores.

Código (java) [Seleccionar]

public static LinkedList<Abs_departamentos> lista_departamentos = new LinkedList<>();

    public static void agregar_departamento(Abs_departamentos x) {
        lista_departamentos.add(x);
    }




#3
Java / Re: Contenedores anidados. (Arraylist)
18 Mayo 2017, 04:50 AM
la verdad no estoy seguro, muy interesante lo que me acaba de mostrar. No sabia que se podía crear un Arraylist de tipo Arraylist y dentro de ellos tener mas listas. Aunque acostumbro a trabajar con LinkedList.
#4
Java / Contenedores anidados. (Arraylist)
18 Mayo 2017, 03:51 AM
buenas noches, ayer mi profesor de programación orientada a objetos nos dejo un proyecto, el cual tengo que realizar con contenedores anidados, Estuve buscando en google y no encuentro nada relacionado con el tema. Alguien me puede sacar de la duda a que se refiere el profesor cuando dice contenedores anidados. Estamos trabajando con contenedores(Arraylist) pero no se como anidar esta estructura.

gracias.
#5
Hola amigo, Existe algo que se llama Api reflection java, Es muy poca conocida pero esa esa la solución a tu problema. Investiga un poco lo que te dije y veras lo importante que es esa Api
#6
Java / Re: Fichero De Datos POO.
7 Mayo 2017, 19:20 PM
Hola amigo, y si cargas todos los objetos del .txt a un contenedor. un Arraylist o un LinkedList.

Código (java) [Seleccionar]
public static void main(String[] args) throws IOException {
         //SE CREA ARRAYLIST
        LinkedList<productos> lista_productos = new LinkedList<>();

        try {
            BufferedReader entrada = new BufferedReader(new FileReader("datos.txt"));
            String linea;
            entrada.readLine();
            String Denominacion = "";
            String CodigoUnico = "";

            while ((linea = entrada.readLine()) != null) {
                StringTokenizer str = new StringTokenizer(linea, ";");
                Denominacion = str.nextToken();
                CodigoUnico = str.nextToken();
               //SE INSERTA UN OBJETO AL CONTENEDOR
                lista_productos.add(new productos(Denominacion, CodigoUnico));
            }

            if (entrada != null) {
                entrada.close();
            }
           
           
           

           
        } catch (FileNotFoundException ex) {
            System.out.println("No exite el fichero indicado.");
        } catch (IOException ex) {
            System.out.println("Error en E/S");
            ex.printStackTrace();
        }

    }
#7
Hola amigo, mira un objeto es una instancia de una clase, osea que vendría siendo lo mismo. 

y en cuanto a que significa statico. Una clase, método o campo declarado como estático puede ser accedido o invocado sin la necesidad de tener que instanciar un objeto de la clase.

osea que al usted nombrar algún atributo statico puedes llamarlo desde cualquier lugar del programa sin necesidad de crear una instancia de la clase.
#8
Java / Re: Login con archivo
17 Abril 2017, 03:56 AM
Amigo, este metodo que te voy a pasar sirve para cargar los datos de un archivo plano a una lista.

public static void CargarLista_Usuarios() {
        try {

            String line = null;
            ArrayList <Usuario> lista = new ArrayList <>();
            //SE CREA EL OBJETO PARA LEER EL FECIHERO
             FileReader fr = new FileReader("Usuario.txt");
            BufferedReader leerfichero = new BufferedReader(new FileReader(fr));
            //igual lo que este en el fichero a la variable y digo que no tiene que estar vacia.
            while ((line = leerfichero.readLine()) != null) {
                //lee las tabulaciones y las ingresa en una variable
                StringTokenizer mistokens = new StringTokenizer(line, ";");
                //CREA UNA VARIABLE PARA CADA ATRIBURO QUE SE ENCUENTRA DENTRO DEL ARCHIVO DE MANERA ORDENADA
                String documento = mistokens.nextToken().trim();
                String nombre = mistokens.nextToken().trim();
                String rol = mistokens.nextToken().trim();
               
                LISTA.add(new Abs_usuario(doc, nombre, rol));
            }

            leerfichero.close();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
#9
Te aconsejo que busque como utilizar, split y StringTokenizer, con cualquier de esas dos puede resolver tu programa.
:rolleyes:
#10

try {
        txtresultado.setText("");
        String dato = txtnum.getText().trim();
        String r = "";
        int cc = 0;
        for (int i = 0; i < dato.length(); i++) {
            for (int c = 0; c < dato.length(); c++) {
                if (dato.charAt(i) == dato.charAt(c)) {
                    cc++;
                }
            }
            if (cc >= 2) {
                //EVALUO NUMEROS REPETIDOS
                r = r + dato.charAt(i);
            }
            cc = 0;
        }
        //CREO VECTOR PARA GUARDAR LOS VALORES
        String vrepetidos[] = new String[r.length()];
        for (int i = 0; i < r.length(); i++) {
            vrepetidos[i] = r.charAt(i) + "";
        }

        for (int i = 0; i < vrepetidos.length; i++) {
            for (int j = 0; j < vrepetidos.length - 1; j++) {
                if (i != j) {
                    //EVALUO  QUE POSICIONES SON IGUALES Y EN UNA POCICION LLENO CON ESPACIO
                    if (vrepetidos[i] == null ? vrepetidos[j] == null : vrepetidos[i].equals(vrepetidos[j])) {
                        vrepetidos[i] = "";
                    }
                }
            }
        }

        int t = vrepetidos.length;
        //IMPRIMO LAS POCICIONES QUE NO TENGAN ESPACIO
        for (int k = 0; k <= t - 1; k++) {
            if (!"".equals(vrepetidos[k])) {
                txtresultado.setText(txtresultado.getText() + " " + vrepetidos[k]);
            }
        }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "INGRESE DATOS");
        }