Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con ArraysList y Archivos

Estas en el tema de Problema con ArraysList y Archivos en el foro de Java en Foros del Web. Estoy creando un proyecto que consiste en una emresa que brinda transporte terrestre interprovincial y que posee una clase Ruta() que tiene como atributos ademas ...
  #1 (permalink)  
Antiguo 15/12/2013, 14:37
 
Fecha de Ingreso: diciembre-2013
Mensajes: 1
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Problema con ArraysList y Archivos

Estoy creando un proyecto que consiste en una emresa que brinda transporte terrestre interprovincial y que posee una clase Ruta() que tiene como atributos ademas de codigo, nombre, una lista de Vehiculos y un tipo de Servicio(si es en modo ,economico, ejecutivo , etc) , donde Vehiculo y Tipo_Servicio son otras clases que ya cree y que funcionan bien por si solas..
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;
}
.
..
...

Para la clase Ruta

Cita:
public 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
Aparte del error de codigo
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 ...
  #2 (permalink)  
Antiguo 16/12/2013, 09:08
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 4 meses
Puntos: 22
Respuesta: Problema con ArraysList y Archivos

Los errores de incompatibilidad de tipo, su propio nombre lo indica, estas intentando hacer un casteo de un String a un objeto de tipo Categoria y posteriormente de una lista de Strings a una lista de elementos de tipo Vehiculo.

Por otro lado, la clase Asiento y Categoria que contienen?

Un saludo.

Etiquetas: list, split
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.