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;
}
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;
}