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..