arreglos

lordbrayn
30 de Marzo del 2008
buenas, es que tengo un programa donde capturo 4 dimensiones planta, estacion, obrero y unidades pero solo me muestra las tre primeras si alguien puede decirme lo que me falta se lo agradecere, aqui esta el programa:

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<cnt; l++) {

entrada=entrada+("@" + num[l] + "," + estacion[l] );

}



try {

File outputFile = new File(planta + ".txt");//guarda l archivo .txt con el numero de la planta



FileOutputStream fos = new FileOutputStream(outputFile);






for (int k=0; k<entrada.length(); k++) {
fos.write(entrada.charAt(k));
}

ozito
30 de Marzo del 2008
Te falta incluir unid[l] en la sentencia donde creas la línea a escribir (entrada):

public static void escribir(String planta, String num[], String estacion[], String unid[]) {
char txt;
String entrada="";
for (int l=0; l<cnt; l++) {
entrada=entrada+("@" + num[l] + "," + estacion[l] + unid[l] );
}
try {