Allora
Qui non credo ci siano problemi
Codice:
public class Prodotto {
private String codice;
private int qta;
public Prodotto () {
this.codice="null";
this.qta=0;
}
public Prodotto (String codice,int quantita) {
this.codice=codice;
this.qta=quantita;
}
public void setCodice (String s) {
this.codice=s;
}
public void setQta (int q) {
this.qta=q;
}
public String getCodice () {
return this.codice;
}
@Override
public String toString () {
String s="Codice:"+codice+"\tQuantità:"+qta;
return s;
}
}
Il problema è sicuramente in questa classe
Codice:
public class Magazzino {
public String nome;
public Prodotto[] prodotti;
public Magazzino() {
this.nome = "Magazzino";
prodotti = new Prodotto[132];
}
public void aggiungiprodotto (int i,String s,int q){
this.prodotti[i].setCodice(s);
this.prodotti[i].setQta(q);
}
public static void main (String args[]) throws IOException {
ServerSocket ss = null;
Socket s = null;
String s1 = "ciao";
int i = 0;
int i1 = 0;
BufferedReader f = null;
Magazzino Mag = new Magazzino();
try {
f = new BufferedReader(new FileReader("file"));
} catch (FileNotFoundException ex) {
System.out.println("file non trovato");
ex.printStackTrace();
}
while(i<23)
{
try {
s1 = f.readLine();
} catch (IOException ex) {
Logger.getLogger(Magazzino.class.getName()).log(Level.SEVERE, null, ex);
}
try {
i1 = Integer.parseInt(f.readLine());
} catch (IOException ex) {
Logger.getLogger(Magazzino.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println(i+1+" "+s1+" "+i1);
Mag.aggiungiprodotto(i, s1, i1);//problema
i++;
}
System.out.println("inseriti " + i + " prodotti in memoria");
}
}
il problema me lo crea la riga con il commento,che non mi copia gli elementi letti dal file nel vettore
il file ha una struttura del tipo
nomeelemento1
int di elemento1
nomelemento2
int elemento2
poi vorrei sapere se c'è un metodo per sapere il numero di righe in un file,mi serve perchè devo usare un array e se non gli metto nel while il numero di elementi contenuti ho problemi
io vorrei fare in modo che la lettura da file funzioni senza dover mettere nel codice il numero di elementi da leggere