ayuda por favor,

saudia
13 de Diciembre del 2005
Hola, a todos...estoy iniciandome en la programacion en java, estoy buscando ayuda para escribir un programa sobre "simulacion de archivo", consite en mover un dato de la memoria de la computadora a un disco flexible y viceversa, envio el codigo fuente,pero no se si esta correcto, aunque al correlo y querer visualizar el dato en la primera celda, se me repite en toda la 1era fila el mismo dato, me dicen que añada una excepcion????. agradezco cualquier ayuda.

import java.io.*;

public class Principal
{


public static void main(String[] args) throws IOException
{
BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));

System.out.println("ttSIMULADOR DE SISTEMA DE ARCHIVOSn");

int op = 0;
Memoria mem = new Memoria(10,10);
Disco disco = new Disco(10,10,10);

// disco.llenarBloque(1,1,9);
//1 disco.verDisco();


do
{
System.out.println("nnttMENU PRINCIPAL");
System.out.println("I-- Colocar un Dato en Memoria");
System.out.println("D-- Mover un dato de Memoria a disco");
System.out.println("M-- Mover un dato de disco a Memoria");
System.out.println("P-- Presentar Estado de la Memoria");
System.out.println("E-- Presentar estado del disco");
System.out.println("B-- Ver el contenido del bloque");
System.out.println("F-- Salir del Programa");

System.out.print("ELIJA UNA OPCION: ");
op = Integer.parseInt(entrada.readLine());
System.out.println(op);

switch(op)
{
case I:
System.out.print("nFavor ingresar la posición del dato: ");
int pos = Integer.parseInt(entrada.readLine());

System.out.println("Ingresar el valor que estará en Memoria: ");
int num = Integer.parseInt(entrada.readLine());

mem.llenarBloque(pos-1,num);
break;

case D:
System.out.print("Favor ingresar la fila del dato a mover de Memoria: ");
int fila = Integer.parseInt(entrada.readLine());

System.out.println("Ingresar el valor de la pista Destino: ");
int pista = Integer.parseInt(entrada.readLine());

System.out.println("Ingresar el valor del sector destino: ");
int sector = Integer.parseInt(entrada.readLine());

disco.moverDisco(pista-1,sector-1,mem.memoria[fila-1]); //mover el valor al disco
mem.llenarBloque(fila-1,0); //borrar los valores anteriores.

break;

case M:

System.out.println("MOVIENDO DE DISCO A MEMORIA");
System.out.print("Ingrese la pista: ");
int pista2 = Integer.parseInt(entrada.readLine());

System.out.print("Ingrese el sector: ");
int sector2 = Integer.parseInt(entrada.readLine());

System.out.print("Ahora escoja la posicion de destino en la memoria: ");
int fila2 = Integer.parseInt(entrada.readLine());

mem.moverMemoria(fila2-1,disco.disco[pista2-1][sector2-1]);
disco.llenarBloque(pista2-1,sector2-1,0);

break;

case P:
System.out.println("ttESTADO DE LA MEMORIA");
mem.verMemoria();
break;

case E:
System.out.println("ttESTADO DEL DISCO");
disco.verDisco();

break;

case B:
System.out.println("Pista: ");
int pista3 = Integer.parseInt(entrada.readLine());

System.out.println("Sector: ");
int sector3 = Integer.parseInt(entrada.readLine());

disco.verSector(pista3-1,sector3-1);
break;

case F:
System.exit(0);
break;

default:
System.out.println("Error! Opcion Incorrecta");
break;
}
}
while(op!= 6);


}

}