Como van a haber varias rutas las estoy ordenando en un ArrayList y las estoy guardando en un archivo , lo mismo estoy haciendo con la clase vehiculo y tipo_servicio. Mi codigo es este
Clase Vehiculo
Cita:
public class Vehiculo {
private String codigo,modelo,color, placa,año;
Asiento[] asientos;
private int nasientos;
public Vehiculo(String s){
List<String>lisVehiculo = Arrays.asList(s.split(","));
if(lisVehiculo.size() != 6){
throw new IllegalArgumentException("Deben ser 6 valores " + lisVehiculo.size());
}
this.codigo=lisVehiculo.get(0);
this.modelo=lisVehiculo.get(1);
this.color=lisVehiculo.get(2);
this.placa=lisVehiculo.get(3);
this.año =lisVehiculo.get(4);
this.nasientos = Integer.parseInt(lisVehiculo.get(5));
asientos = new Asiento[this.nasientos];
for(int i=0;i<nasientos;i++){
asientos[0]=new Asiento(i+1);
}
}//constructor
public static List<Vehiculo> LeeVehiculos(String nomFich)throws FileNotFoundException{
List<Vehiculo> Id = new LinkedList<>();
Scanner sc = new Scanner(new File(nomFich));
while(sc.hasNextLine()){
Vehiculo v = new Vehiculo(sc.nextLine());
Id.add(v);
}//fin while
sc.close();
return Id;
}// fin LeeDocentes
public static int EscribirVehiculo(String nomFich, List<Vehiculo> listVehiculo){
File archivo = new File(nomFich);
PrintWriter ps;
try{
ps = new PrintWriter(archivo);
}
catch(FileNotFoundException e){
return 0;
}
for(Vehiculo objVehiculo : listVehiculo){
ps.println(objVehiculo);
}
ps.close();
return 1;
}
.
..
...
private String codigo,modelo,color, placa,año;
Asiento[] asientos;
private int nasientos;
public Vehiculo(String s){
List<String>lisVehiculo = Arrays.asList(s.split(","));
if(lisVehiculo.size() != 6){
throw new IllegalArgumentException("Deben ser 6 valores " + lisVehiculo.size());
}
this.codigo=lisVehiculo.get(0);
this.modelo=lisVehiculo.get(1);
this.color=lisVehiculo.get(2);
this.placa=lisVehiculo.get(3);
this.año =lisVehiculo.get(4);
this.nasientos = Integer.parseInt(lisVehiculo.get(5));
asientos = new Asiento[this.nasientos];
for(int i=0;i<nasientos;i++){
asientos[0]=new Asiento(i+1);
}
}//constructor
public static List<Vehiculo> LeeVehiculos(String nomFich)throws FileNotFoundException{
List<Vehiculo> Id = new LinkedList<>();
Scanner sc = new Scanner(new File(nomFich));
while(sc.hasNextLine()){
Vehiculo v = new Vehiculo(sc.nextLine());
Id.add(v);
}//fin while
sc.close();
return Id;
}// fin LeeDocentes
public static int EscribirVehiculo(String nomFich, List<Vehiculo> listVehiculo){
File archivo = new File(nomFich);
PrintWriter ps;
try{
ps = new PrintWriter(archivo);
}
catch(FileNotFoundException e){
return 0;
}
for(Vehiculo objVehiculo : listVehiculo){
ps.println(objVehiculo);
}
ps.close();
return 1;
}
.
..
...
Para la clase Ruta
Cita:
Aparte del error de codigopublic class Ruta {
private String codigo;
private String nombre;
private String inicio;
private String destino;
private double costo;
private Categoria cat;
private ArrayList<Vehiculo> vehiculos= new ArrayList<>();
private int nvehiculos;
//Tramo[] tramo= new Tramo[100];
//private String ntramo = String.valueOf(tramo.length);
public Ruta(String s){
List<String>lisRuta = Arrays.asList(s.split(","));
this.codigo =lisRuta.get(0);
this.nombre =lisRuta.get(1);
this.inicio =lisRuta.get(2);
this.destino =lisRuta.get(3);
this.cat=(Categoria)lisRuta.get(4); //ERROR inconvertibles types
this.costo =Double.parseDouble(lisRuta.get(4));
this.nvehiculos =Integer.parseInt(lisRuta.get(6));
this.cat=((ArrayList<Vehiculo>)lisRuta).get(6); //ERROR incovertibles type
//this.ntramo =lisRuta.get(6);
}
//get y set
private String codigo;
private String nombre;
private String inicio;
private String destino;
private double costo;
private Categoria cat;
private ArrayList<Vehiculo> vehiculos= new ArrayList<>();
private int nvehiculos;
//Tramo[] tramo= new Tramo[100];
//private String ntramo = String.valueOf(tramo.length);
public Ruta(String s){
List<String>lisRuta = Arrays.asList(s.split(","));
this.codigo =lisRuta.get(0);
this.nombre =lisRuta.get(1);
this.inicio =lisRuta.get(2);
this.destino =lisRuta.get(3);
this.cat=(Categoria)lisRuta.get(4); //ERROR inconvertibles types
this.costo =Double.parseDouble(lisRuta.get(4));
this.nvehiculos =Integer.parseInt(lisRuta.get(6));
this.cat=((ArrayList<Vehiculo>)lisRuta).get(6); //ERROR incovertibles type
//this.ntramo =lisRuta.get(6);
}
//get y set
Esta es la forma correcta de hacerlo o tambien esta mal la idea que tengo??
RUTA
-String codigo
-String Nombre
-ArrayList Vehiculos
-Tipo Servicio servicio
-double precio
GRACIAS de antemano ...