No Puedo crear un ARRAY de OBJETOS

Sergio
26 de Marzo del 2005
Quiero crear un array de 12 elementos de la clase auto y no puedo. Así como en C++ uno ocupaba arrays de structs en java que se ocupa???


aqui está el código:


import java.io.*;


public class Vehiculo
{
public String Tipo;
public String Marca;
public String Modelo;
public String Motor;
public String Octanos;
public String Color;
public String Patente;
public int year;
public int km;

public int total_vehiculos;

public void Vehiculo()
{
Tipo="";
Marca="";
Modelo="";
Motor="";
Octanos="";
Color="";
Patente="";
year=0;
km=0;
}


public void VerVehiculo()
{
System.out.println("Tipo de Vehículo "+Tipo+"n");
System.out.println("Marca del Vehículo "+Marca+"n");
System.out.println("Modelo del Vehículo "+Modelo+"n");
System.out.println("Año del Vehículo "+year+"n");
System.out.println("Motor del Vehículo "+Motor+"n");
System.out.println("Octanage del Vehículo "+Octanos+"n");
System.out.println("Color del Vehículo "+Color+"n");
System.out.println("Kilometraje del Vehículo "+km+"n");
System.out.println("Patente del Vehículo "+Patente+"n");
}


public void AgregarVehiculo() throws Exception
{
String linea;

try
{

BufferedReader datos = new BufferedReader(new InputStreamReader(System.in));

System.out.println("Ingrese los Datos del Vehículo nn");
System.out.println("Tipo de Vehículo nr");
System.out.flush();
linea = datos.readLine();
Tipo=linea;


System.out.println("Marca del Vehículo nr");
System.out.flush();
linea = datos.readLine();
Marca=linea;

System.out.println("Modelo del Vehículo nr");
System.out.flush();
linea=datos.readLine();
Modelo=linea;

System.out.println("Año del Vehículo nr");
System.out.flush();
linea=datos.readLine();
year=Integer.parseInt(linea);


System.out.println("Motor del Vehículo nr");
System.out.flush();
linea=datos.readLine();
Motor=linea;

System.out.println("Octanage del Vehículo nr");
System.out.flush();
linea=datos.readLine();
Octanos=linea;

System.out.println("Color del Vehículo nr");
System.out.flush();
linea=datos.readLine();
Color=linea;

System.out.println("Kilometraje del Vehículo nr");
System.out.flush();
linea=datos.readLine();
km=Integer.parseInt(linea);

System.out.println("Patente del Vehículo nr");
System.out.flush();
linea=datos.readLine();
Patente=linea;


}
catch (Exception e)
{
e.printStackTrace();
}
}


public static void main (String[] args) throws Exception
{

try
{


Vehiculo camion = new Vehiculo();

//<B>AQUI CUANDO DECLARO EL ARRAY DE VEHICULOS EL COMPILADOR LE DA COLOR </B>
camion[] camiones = new camion[12];


System.out.println(" |INGRESO DE CAMIONES| n");
System.out.println("**********************************************n");
for(int i=0; i<12; i++)
{
camiones[i].AgregarVehiculo();
System.out.println("cls n");
System.out.println("**********************************************n");
}


for(int i=0; i<12; i++)
camiones[i].VerVehiculo();
}
catch (Exception e)
{
e.printStackTrace();
}

}
}

johano
26 de Marzo del 2005
Digita en el metodo Main lo siguiente:
//ES TU MISMO CODIGO
public static void main (String[] args) throws Exception
{

try
{
// CREA UN ARREGLO DE 12 VEHICULOS
Vehiculo [] camiones = new Vehiculo[12];
//CONTINUA AQUI CON LAS DEMAS LINEAS Q TIENE TU CODIGO Y SIGO EN EL BUCLE
//
for(int i=0; i<12; i++)
{
/*ESTA LINEA DEBES HACERLO ASI PORQ AUN NO HAS INICIALIZADO LOS OBJETOS DEL ARREGLO. SI NO TIENES ESTA LINEA EL PROGRAMA TE EXPLOTA CON UN NULLPOINTEREXCEPTION PORQ LOS OBJETOS NO APUNTAN A NINGUNA PARTE */

camiones[i] = new Vehiculo();
camiones[i].AgregarVehiculo();
//YA AQUI CONTINUAS CON LAS DEMAS LINEAS DE CODIGO Q TIENES

Suerte y espero te ayude

eth0
26 de Marzo del 2005
Vehiculo[] camiones = new Vehiculo[12];

Spiro
26 de Marzo del 2005
este.. este.. HOLA! el camion de ke tipo de dato es.. de tipo camion NO! de tipo vehiculo.. entonces
Vehiculo[] camiones = new Vehiculo[12]; es lo correcto o
Object [] camiones = new Vehiculo[12];
a lo sumo y depues castearlo...

DUDE.. !
ok espero sirva..