programa en java

buenas, necesito ayuda con el programa a continuacion, es que logro capturar y guardar las cuatro dimensiones planta, estacion, obrero, unidades fabricadas, pero me falta algo que no se que es y solo me muestra las 3 primeras dimensiones si alguien puede decirme que me falta o diseñar algo para que me muestre la otra dimension por favor ayudeme, se lo agradecere, esto es de mucha urgencia para mañana. gracias por la atencion pretada y envio el programa para que lo observen.

import java.io.*;

class arregloTETRA {

static String numero[], est[], uni[], plantas=null;
static int cnt=0;

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

int opcion=0;
String crear=null, otra=null;

numero = new String[1000];
est = new String [1000];
uni= new String [1000];

do {
System.out.println("Que desa hacer");
System.out.println("1)ingresar datos de una planta");
System.out.println("2)mostrar datos de una planta");

System.out.println("3)Salir");
opcion=Integer.parseInt(buffer.readLine());
if (opcion==1) {

System.out.println("numero de la planta");
plantas=buffer.readLine();
do {
System.out.println("estacion:");
numero[cnt]=buffer.readLine();
System.out.println("nombre del obrero:");
est[cnt]=buffer.readLine();

System.out.println("dia y unidades fabricadas:");
uni[cnt]=buffer.readLine();

System.out.println("desea ingresar mas datos? (S/N)");
otra=buffer.readLine();

cnt++;

} while (otra.equals("s")||otra.equals("S"));

System.out.println("Crear? (S/N)");
crear=buffer.readLine();
if (crear.equals("s")||crear.equals("S")) {
escribir(plantas,numero,est, uni);
}
}
if (opcion==2) {

System.out.println("numero de planta?");
plantas=buffer.readLine();
leer(plantas);
}

} while (opcion!=3);

}

public static void escribir(String planta, String num[], String estacion[], String unid[]) {

char txt;
String entrada="";

for (int l=0; l