Я должен читать из файла, поэтому сделал:
cod_order (int)
cod_cliente (int)
cod_pizza (int)
num_pizza (int)
cod_pizza
num_pizza
...
$FINE
вот пример:
1
1107
02
1
01
5
03
2
$FINE
Я создал этот метод для чтения из этого текстового файла:
private void loadOrdini(String fname){
try{
BufferedReader reader = new BufferedReader(new FileReader(fname));
String cod_ordine = reader.readLine();
while(cod_ordine!=null){
String cod_cliente=reader.readLine();
Cliente cl=listaclienti.get(Integer.parseInt(cod_cliente));
String cod_pizza=reader.readLine();
while(!cod_pizza.equals("$FINE")){
String n_pizze=reader.readLine();
Ordine ord = new Ordine(Integer.parseInt(cod_pizza),Integer.parseInt(n_pizze));
cl.getListaOrdini().put(Integer.parseInt(cod_ordine), ord);
cod_pizza=reader.readLine();
}
cod_ordine=reader.readLine();
}
}
catch(IOException ioe){
ioe.printStackTrace();
}
}
проблема заключается в том, что метод загружает в HashMap listaordini только цифры 03
и 2
, тогда как числа до этого не учитываются. Почему?
import java.util.*;
public class Cliente{
private String name;
private String address;
private Map<Integer,Ordine> listaordini;
public Cliente(String n,String addr){
name=n;
address=addr;
listaordini=new HashMap<Integer,Ordine>();
}
public String getName(){
return name;
}
public String getAddr(){
return address;
}
public Map<Integer,Ordine> getListaOrdini(){
return listaordini;
}
public String toString(){
String temp="";
temp+="Nome Cliente: "+name;
temp+="\nIndirizzo: "+address;
return temp;
}
}
даже после этогоSuggets проблема остается той же