Foros > Java: Ayuda con array de estructuras

  1. tomillo_8

    Mensajes [2] - Enviado el Martes 22 de Enero de 2008 a las 05:57hs

    Buenas! Hemos creado lo que se viene a llamar un array de estructuras, la duda es que nos compila perfectamente pero luego en la ejecucion del programa nos da una excepci?n y nos estamos volviendo locos, porque no sabemos si est? bien definido,haber si alguien nos podr?a ayudar, adjuntamos a continuaci?n el c?digo del programa, un saludo, muchas gracias.

    menu.java
    import java.io.*;
    public class menu{
    public static void main(String[] args) throws IOException {
    int opcion;
    int tama;
    BufferedReader teclado= new BufferedReader(new InputStreamReader(System.in));
    System.out.println("MENU");
    marco nuevo=new marco();
    marco[] temporal= new marco[26];
    marco[] auxiliar=temporal;
    /*char[] cadena1={'a','b'};
    char[] cadena2={'c'};
    System.arraycopy(cadena1, 0, cadena2, 0, 1024);
    System.out.println(cadena2);*/
    //nuevo[]=null;
    //marco nuevo= new marco();
    System.out.println("________\n");
    System.out.println("1. Visualizar contenido completo de una pagina.");
    System.out.println("2. Traducir direccion logica.");
    System.out.println("3. Mostrar contenido de la tabla de paginas.");
    System.out.println("4.Salir");
    System.out.print("ELIJA OPCION:");
    opcion=Integer.parseInt(teclado.readLine());
    switch(opcion){
    case 1:
    int pagina=0;
    System.out.println("Introduzca el numero de pagina a visualizar:");
    pagina=Integer.parseInt(teclado.readLine());
    System.out.println("prueba");
    //Menu fichero = new Menu();
    BufferedReader br = null;
    int contador=0;
    System.out.println("prueba3");
    //for(contador=1; contador<16; contador++){
    BufferedReader bufread = new BufferedReader (new FileReader ( "archivo.txt"));
    //for(contador=1; contador<16; contador++){
    while (bufread.ready()){
    contador=0;

    System.out.println("bucle");
    char[] lineacaracteres = new char[1024];
    tama=bufread.read(lineacaracteres,0,1024);
    nuevo.contenido=lineacaracteres;
    System.out.println(nuevo.contenido);
    auxiliar[contador]=nuevo;
    contador++;
    }
    for(contador=0;contador<26;contador++){
    System.out.println(auxiliar[contador].contenido);
    }


    }
    }

    }
    //}

    marco.java

    public class marco {
    char contenido[]=new char[1024];
    boolean estado=false;
    }

  2. tomillo_8

    Mensajes [2] - Enviado el Martes 22 de Enero de 2008 a las 06:09hs

    Modifico el c?digo que me he liado y no era ese c?digo, perdonad:

    bis.java
    import java.io.*;
    public class bis{
    public static void main(String[] args) throws IOException {
    int opcion;
    int tama;
    int indice;
    BufferedReader teclado= new BufferedReader(new InputStreamReader(System.in));
    System.out.println("MENU");
    //marco nuevo = new marco();
    // nuevo.leerFichero();
    System.out.println("________\n");
    System.out.println("1. Visualizar contenido completo de una pagina.");
    System.out.println("2. Traducir direccion logica.");
    System.out.println("3. Mostrar contenido de la tabla de paginas.");
    System.out.println("4.Salir");
    System.out.print("ELIJA OPCION:");
    opcion=Integer.parseInt(teclado.readLine());
    switch(opcion){
    case 1:
    int pagina=0;
    System.out.println("Introduzca el numero de pagina a visualizar:");
    pagina=Integer.parseInt(teclado.readLine());
    }

    /*Menu cola = new Menu();*/

    String contenido = new String();
    bis fichero = new bis();

    BufferedReader br = null;
    int contador=0;

    BufferedReader bufread = new BufferedReader (new FileReader ( "archivo.txt"));
    while (bufread.ready()){
    contador=contador+1;
    System.out.println("CONTADOR:"+contador);

    char[] lineacaracteres = new char[1024];
    tama=bufread.read(lineacaracteres,0,1024);
    System.out.println("el valor de los datos capturados es:" +lineacaracteres+"con tama?"+tama);
    // int tamano = 0;
    boolean estado=true;
    //marco temporal[] = null;
    marco temporal[]=new marco[16];

    System.out.println("ppepep");

    for(indice=0 ; indice <17; indice++){

    System.out.println("ola");
    temporal[indice].tamano=tama;
    System.out.println("pepin");
    temporal[indice].estado=estado;
    }
    // System.out.println("TAMANO:"+temporal[indice].tamano);
    }
    }
    }

    marco.java
    public class marco {
    int tamano;
    boolean estado;
    }


responder

Para poder responder a este tema tenes que ingresar. Si no tenes una cuenta podes registrarse gratis..

Anuncie Aqui