Buonasera,
sto provando un codice che memorizza su una variabile arrayList dei dati passati da tastiera.
All'interno di un ciclo while, se una certa condizione è verificata continua a immagazzinare dati poi ad un certo punto esce.
il primo problema è che non ho la memorizzazione allineata, mi stampa questo esempio
[ a, b, c
, d, e, f
]
ogni riga (a,b,c) rappresenta una fine del while, se il while rinizia allora memorizza la seconda riga (d,e,f)
io vorrei che memorizzasse i dati in colonna.
Un secondo problema è che quando li passo su un file li memorizza tutti in riga, come posso risolvere a questi due problemi ?
posto il codice
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package prova;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import static java.lang.System.in;
import java.util.ArrayList;
import java.util.Scanner;
public class Prova {
private static String s;
private static String data;
private static String employee;
public static void main(String[] args) {
ArrayList<String> nameList = new ArrayList<>(); // sostituire string con Impiegati
//Impiegati name ecc
System.out.println("Vuoi inserire un impiegato ? <si> <no>");
Scanner input = new Scanner(System.in);
s = input.next();
while(s.equals("si")){
System.out.println("Che tipo di impiegato vuoi inserire ? <Dirigenti> <Consulenti> <Segretarie> ");
employee = input.next();
switch (employee) {
case "Dirigenti":
System.out.println("Inserisci il nome del DIRIGENTE");
data = input.next();
nameList.add(data);
System.out.println("Inserisci il cognome del DIRIGENTE");
data = input.next();
nameList.add(data);
System.out.println("Inserisci la data di nascita del DIRIGENTE");
data = input.next();
nameList.add(data);
System.out.println("Inserisci lo stipendio del DIRIGENTE");
data = input.next();
nameList.add(data);
System.out.println("Inserisci il premio produzione del DIRIGENTE");
data = input.next() + "\n";
nameList.add(data);
break;
case "Consulenti":
System.out.println("Inserisci il nome del CONSULENTE");
data = input.next();
nameList.add(data);
System.out.println("Inserisci il cognome del CONSULENTE");
data = input.next();
nameList.add(data);
System.out.println("Inserisci la data di nascita del CONSULENTE");
data = input.next();
nameList.add(data);
System.out.println("Inserisci lo stipendio del CONSULENTE");
data = input.next() + "\n";
nameList.add(data);
break;
case "Segretarie":
System.out.println("Inserisci il nome della SEGRETARIA");
data = input.next();
nameList.add(data);
System.out.println("Inserisci il cognome della SEGRETARIA");
data = input.next();
nameList.add(data);
System.out.println("Inserisci la data di nascita della SEGRETARIA");
data = input.next();
nameList.add(data);
System.out.println("Inserisci lo stipendio della SEGRETARIA");
data = input.next() + "\n";
nameList.add(data);
break;
}
System.out.println("Vuoi inserire un altro impiegato ? <si> <no>");
s = input.next();
}
System.out.println(nameList); // Problema dell' allineamento dei dati inseriti !!
try (PrintWriter openFile = new PrintWriter("openFile.txt")){ // Creazione file
System.out.println("\n\nScrittura File...in corso ");
openFile.println(nameList);
System.out.println("\n\nScrittura File...terminata ");
openFile.close();
}catch(FileNotFoundException e){
System.out.println("Il file di input non esiste");
}
}
}