Bueno tengo este programa en Java con 4 clases y la parte del Main...soy nuevo en el Foro, tanto asi que esta es la primera vez que me registro en uno asi que no se mucho de esto pero bueno aprendere....asi mismo soy novato en la programacion, a veces no entiendo las cosas y necesito que me las expliquen mucho pero pongo todo de mi parte para aprender porque quiero estudiar y hacer una maestria en esto de la programacion...pero bueno no se desesperen conmigo pero aprendo
Bueno aqui el programa para que lo vean y me expliquen donde tengo error o como solucionarlo..ah se me olvidaba el error que tengo es que pone esto al momento de ejecutar y se termina de ejecutar
"Exception in thread "main" java.lang.NullPointerException at TransporteEJECUCION.main(TransporteEJECUCION.java:22)"
Aqui el codigo de cada clase
CLASE CHOFER
CLASE FLETE
CLASE RUTAS (en esta clase tengo un simbolo asi -> ! )
CLASE VEHICULO
MAIN CLASS TRANSPORTEEJECUCION
Ojala y puedan ayudarme, incluso dejo el rar por si quieren ver lo que el programa hace durante la ejecucion(lo poquito que dura XD ) :-p
Bueno aqui el programa para que lo vean y me expliquen donde tengo error o como solucionarlo..ah se me olvidaba el error que tengo es que pone esto al momento de ejecutar y se termina de ejecutar
"Exception in thread "main" java.lang.NullPointerException at TransporteEJECUCION.main(TransporteEJECUCION.java:22)"
Aqui el codigo de cada clase
CLASE CHOFER
public class Chofer {
static int idChofer;
String nombreChofer;
static int rutaAsignada;
static int vehiculoAsignado;
void Chofer(){
this.idChofer=0;
this.nombreChofer="";
this.rutaAsignada=0;
this.vehiculoAsignado=0;
}
void Chofer(int idChofer,String nombreChofer,int rutaAsignada,int vehiculoAsignado){
this.idChofer=idChofer;
this.nombreChofer=nombreChofer;
this.rutaAsignada=rutaAsignada;
this.vehiculoAsignado=vehiculoAsignado;
}
int get_idChofer(){
return(idChofer);
}
String get_nombreChofer(){
return(nombreChofer);
}
int get_rutaAsignada(){
return(rutaAsignada);
}
int get_vehiculoAsignado(){
return(vehiculoAsignado);
}
}
static int idChofer;
String nombreChofer;
static int rutaAsignada;
static int vehiculoAsignado;
void Chofer(){
this.idChofer=0;
this.nombreChofer="";
this.rutaAsignada=0;
this.vehiculoAsignado=0;
}
void Chofer(int idChofer,String nombreChofer,int rutaAsignada,int vehiculoAsignado){
this.idChofer=idChofer;
this.nombreChofer=nombreChofer;
this.rutaAsignada=rutaAsignada;
this.vehiculoAsignado=vehiculoAsignado;
}
int get_idChofer(){
return(idChofer);
}
String get_nombreChofer(){
return(nombreChofer);
}
int get_rutaAsignada(){
return(rutaAsignada);
}
int get_vehiculoAsignado(){
return(vehiculoAsignado);
}
}
public class Flete extends Chofer{
String nombreEmpresa;
String rfc;
String direccion;
void Flete(){
this.nombreEmpresa="";
this.rfc="";
this.direccion="";
}
void Flete(String nombreEmpresa,String rfc,String direccion){
this.nombreEmpresa=nombreEmpresa;
this.rfc=rfc;
this.direccion=direccion;
}
String get_infoFlete(){
return("Para la empresa "+get_nombreEmpresa()+" con direccion "+get_direccion());
}
String get_nombreEmpresa(){
return(nombreEmpresa);
}
String get_rfc(){
return(rfc);
}
String get_direccion(){
return(direccion);
}
}
String nombreEmpresa;
String rfc;
String direccion;
void Flete(){
this.nombreEmpresa="";
this.rfc="";
this.direccion="";
}
void Flete(String nombreEmpresa,String rfc,String direccion){
this.nombreEmpresa=nombreEmpresa;
this.rfc=rfc;
this.direccion=direccion;
}
String get_infoFlete(){
return("Para la empresa "+get_nombreEmpresa()+" con direccion "+get_direccion());
}
String get_nombreEmpresa(){
return(nombreEmpresa);
}
String get_rfc(){
return(rfc);
}
String get_direccion(){
return(direccion);
}
}
public class Rutas extends Flete {
static int idRuta;
String origen;
String destino;
void Rutas(){
this.idRuta=0;
this.origen="";
this.destino="";
}
void Rutas(int idRuta,String origen,String destino){
this.idRuta=idRuta;
this.origen=origen;
this.destino=destino;
}
int get_idRuta(){
return(idRuta);
}
String get_origendestino(){
return(origen+" A "+destino+" "+get_infoFlete());
}
String nodestino(){
return("VIAJE NO DISPONIBLE.");
}
String rutas_asignadas(){
if(get_rutaAsignada()==get_idRuta())
return(get_origendestino());
if((get_rutaAsignada()==0))
return(nodestino());
}
}
static int idRuta;
String origen;
String destino;
void Rutas(){
this.idRuta=0;
this.origen="";
this.destino="";
}
void Rutas(int idRuta,String origen,String destino){
this.idRuta=idRuta;
this.origen=origen;
this.destino=destino;
}
int get_idRuta(){
return(idRuta);
}
String get_origendestino(){
return(origen+" A "+destino+" "+get_infoFlete());
}
String nodestino(){
return("VIAJE NO DISPONIBLE.");
}
String rutas_asignadas(){
if(get_rutaAsignada()==get_idRuta())
return(get_origendestino());
if((get_rutaAsignada()==0))
return(nodestino());
}
}
public class Vehiculo extends Rutas {
static int idVehiculo;
String marca;
String modelo;
int anio;
void Vehiculo(){
this.idVehiculo=0;
this.marca="";
this.modelo="";
this.anio=0;
}
void Vehiculo(int idVehiculo,String marca,String modelo,int anio){
this.idVehiculo=idVehiculo;
this.marca=marca;
this.modelo=modelo;
this.anio=anio;
}
int get_idVehiculo(){
return(idVehiculo);
}
String get_infovehiculo(){
return("VEHICULO: "+marca+"\n"+"MODELO: "+modelo+"\n"+"AÑO: "+anio+"\n");
}
String novehiculo(){
return("VEHICULO NO DISPONIBLE.");
}
String vehiculos_asignados(){
if(get_vehiculoAsignado()==get_idVehiculo())
return(get_infovehiculo());
if((get_vehiculoAsignado()==0))
return(novehiculo());
}
}
static int idVehiculo;
String marca;
String modelo;
int anio;
void Vehiculo(){
this.idVehiculo=0;
this.marca="";
this.modelo="";
this.anio=0;
}
void Vehiculo(int idVehiculo,String marca,String modelo,int anio){
this.idVehiculo=idVehiculo;
this.marca=marca;
this.modelo=modelo;
this.anio=anio;
}
int get_idVehiculo(){
return(idVehiculo);
}
String get_infovehiculo(){
return("VEHICULO: "+marca+"\n"+"MODELO: "+modelo+"\n"+"AÑO: "+anio+"\n");
}
String novehiculo(){
return("VEHICULO NO DISPONIBLE.");
}
String vehiculos_asignados(){
if(get_vehiculoAsignado()==get_idVehiculo())
return(get_infovehiculo());
if((get_vehiculoAsignado()==0))
return(novehiculo());
}
}
import javax.swing.JOptionPane;
import java.awt.*;
class GraphicPanel extends Panel{
GraphicPanel(){
setBackground(Color.WHITE);
}
}
public class TransporteEJECUCION {
public static void main(String[] args) {
Frame f = new Frame("TRANSPORTES EL NORTE");
GraphicPanel gp = new GraphicPanel();
f.add(gp);
f.setSize(600, 300);
f.setVisible(true);
f.setLocation(400, 220);
Vehiculo obj[];
obj=new Vehiculo[5];
int i;
for(i=0;i<5;i++){
obj.Vehiculo();
obj.Rutas();
obj.Flete();
obj.Chofer();
}
// obj[0].Chofer(1, "Carlos Ramirez", 1, 3);
// obj[1].Chofer(2, "Luis Arturo", 2, 2);
// obj[2].Chofer(3, "Manuel López", 4, 1);
// obj[3].Chofer(4, "José Julian", 5, 5);
// obj[4].Chofer(5, "Carlos Montes", 3, 4);
obj[0].Vehiculo(1, "FORD", "Ranger", 2012);
obj[1].Vehiculo(2, "NISSAN", "Urvan", 2013);
obj[2].Vehiculo(3, "CHEVROLET", "Wagon", 1995);
obj[3].Vehiculo(4, "VOLKSWAGEN", "Pointer", 1990);
obj[4].Vehiculo(5, "TOYOTA", "RaV4", 1996);
obj[0].Rutas(1, "Miguel Aleman", "Reynosa");
obj[1].Rutas(2, "Miguel Aleman", "Camargo");
obj[2].Rutas(3, "Miguel Aleman", "Mier");
obj[3].Rutas(4, "Miguel Aleman", "Diaz Ordaz");
obj[4].Rutas(5, "Miguel Aleman", "Río Grande");
obj[0].Flete("CompuClinic", "ASDF1789", "Calle Benito Juarez");
obj[1].Flete("OXXO", "EDCF2486", "Calle Niños Heroes");
obj[2].Flete("Papeleria Jade", "CVBN7419", "Calle Enrique B.Guerra");
obj[3].Flete("Seven Eleven", "PÑLK6074", "Calle Ocampo");
obj[4].Flete("WalMart", "WAMT6620", "HighWay 83");
obj[0].Chofer(1, "Carlos Ramirez", 1, 3);
obj[1].Chofer(2, "Luis Arturo", 2, 2);
obj[2].Chofer(3, "Manuel López", 4, 1);
obj[3].Chofer(4, "José Julian", 5, 5);
obj[4].Chofer(5, "Carlos Montes", 3, 4);
String opcion;
int opcionNum;
do{
opcion=JOptionPane.showInputDialog("1: Rutas asignadas a los choferes.\n+"+"2: Transporte asignado a los choferes."+"3: Datos de los choferes.");
opcionNum=Integer.parseInt(opcion);
}while((opcionNum<0)||(opcionNum>=3));
switch(opcionNum){
case 1:
String RutasAsignadasChofer[];
RutasAsignadasChofer=new String[5];
RutasAsignadasChofer[0]="";
RutasAsignadasChofer[1]="";
RutasAsignadasChofer[2]="";
RutasAsignadasChofer[3]="";
RutasAsignadasChofer[4]="";
int j;
for(j=0;j<5;j++){
RutasAsignadasChofer[j]+="El Chofer "+obj[j].get_idChofer()+" tiene el siguiente viaje: "+obj[j].rutas_asignadas();
JOptionPane.showMessageDialog(null, RutasAsignadasChofer[j], "INFORMACION RUTAS", JOptionPane.INFORMATION_MESSAGE);
}
break;
case 2:
String TransporteAsignadoChofer[];
TransporteAsignadoChofer=new String[5];
TransporteAsignadoChofer[0]="";
TransporteAsignadoChofer[1]="";
TransporteAsignadoChofer[2]="";
TransporteAsignadoChofer[3]="";
TransporteAsignadoChofer[4]="";
int k;
for(k=0;k<5;k++){
TransporteAsignadoChofer[k]+="El Chofer "+obj[k].get_idChofer()+" tiene el siguiente vehiculo: "+obj[k].vehiculos_asignados();
JOptionPane.showMessageDialog(null, TransporteAsignadoChofer[k], "INFORMACION VEHICULOS", JOptionPane.INFORMATION_MESSAGE);
}
break;
case 3:
String DatosChoferes[];
DatosChoferes=new String[5];
DatosChoferes[0]="";
DatosChoferes[1]="";
DatosChoferes[2]="";
DatosChoferes[3]="";
DatosChoferes[4]="";
int l;
for(l=0;l<5;l++){
DatosChoferes[l]+="Chofer # "+obj[l].get_idChofer()+" se llama "+obj[l].get_nombreChofer();
JOptionPane.showMessageDialog(null, DatosChoferes[l], "INFORMACION DE CHOFERES", JOptionPane.INFORMATION_MESSAGE);
}
break;
}
}
}
import java.awt.*;
class GraphicPanel extends Panel{
GraphicPanel(){
setBackground(Color.WHITE);
}
}
public class TransporteEJECUCION {
public static void main(String[] args) {
Frame f = new Frame("TRANSPORTES EL NORTE");
GraphicPanel gp = new GraphicPanel();
f.add(gp);
f.setSize(600, 300);
f.setVisible(true);
f.setLocation(400, 220);
Vehiculo obj[];
obj=new Vehiculo[5];
int i;
for(i=0;i<5;i++){
obj.Vehiculo();
obj.Rutas();
obj.Flete();
obj.Chofer();
}
// obj[0].Chofer(1, "Carlos Ramirez", 1, 3);
// obj[1].Chofer(2, "Luis Arturo", 2, 2);
// obj[2].Chofer(3, "Manuel López", 4, 1);
// obj[3].Chofer(4, "José Julian", 5, 5);
// obj[4].Chofer(5, "Carlos Montes", 3, 4);
obj[0].Vehiculo(1, "FORD", "Ranger", 2012);
obj[1].Vehiculo(2, "NISSAN", "Urvan", 2013);
obj[2].Vehiculo(3, "CHEVROLET", "Wagon", 1995);
obj[3].Vehiculo(4, "VOLKSWAGEN", "Pointer", 1990);
obj[4].Vehiculo(5, "TOYOTA", "RaV4", 1996);
obj[0].Rutas(1, "Miguel Aleman", "Reynosa");
obj[1].Rutas(2, "Miguel Aleman", "Camargo");
obj[2].Rutas(3, "Miguel Aleman", "Mier");
obj[3].Rutas(4, "Miguel Aleman", "Diaz Ordaz");
obj[4].Rutas(5, "Miguel Aleman", "Río Grande");
obj[0].Flete("CompuClinic", "ASDF1789", "Calle Benito Juarez");
obj[1].Flete("OXXO", "EDCF2486", "Calle Niños Heroes");
obj[2].Flete("Papeleria Jade", "CVBN7419", "Calle Enrique B.Guerra");
obj[3].Flete("Seven Eleven", "PÑLK6074", "Calle Ocampo");
obj[4].Flete("WalMart", "WAMT6620", "HighWay 83");
obj[0].Chofer(1, "Carlos Ramirez", 1, 3);
obj[1].Chofer(2, "Luis Arturo", 2, 2);
obj[2].Chofer(3, "Manuel López", 4, 1);
obj[3].Chofer(4, "José Julian", 5, 5);
obj[4].Chofer(5, "Carlos Montes", 3, 4);
String opcion;
int opcionNum;
do{
opcion=JOptionPane.showInputDialog("1: Rutas asignadas a los choferes.\n+"+"2: Transporte asignado a los choferes."+"3: Datos de los choferes.");
opcionNum=Integer.parseInt(opcion);
}while((opcionNum<0)||(opcionNum>=3));
switch(opcionNum){
case 1:
String RutasAsignadasChofer[];
RutasAsignadasChofer=new String[5];
RutasAsignadasChofer[0]="";
RutasAsignadasChofer[1]="";
RutasAsignadasChofer[2]="";
RutasAsignadasChofer[3]="";
RutasAsignadasChofer[4]="";
int j;
for(j=0;j<5;j++){
RutasAsignadasChofer[j]+="El Chofer "+obj[j].get_idChofer()+" tiene el siguiente viaje: "+obj[j].rutas_asignadas();
JOptionPane.showMessageDialog(null, RutasAsignadasChofer[j], "INFORMACION RUTAS", JOptionPane.INFORMATION_MESSAGE);
}
break;
case 2:
String TransporteAsignadoChofer[];
TransporteAsignadoChofer=new String[5];
TransporteAsignadoChofer[0]="";
TransporteAsignadoChofer[1]="";
TransporteAsignadoChofer[2]="";
TransporteAsignadoChofer[3]="";
TransporteAsignadoChofer[4]="";
int k;
for(k=0;k<5;k++){
TransporteAsignadoChofer[k]+="El Chofer "+obj[k].get_idChofer()+" tiene el siguiente vehiculo: "+obj[k].vehiculos_asignados();
JOptionPane.showMessageDialog(null, TransporteAsignadoChofer[k], "INFORMACION VEHICULOS", JOptionPane.INFORMATION_MESSAGE);
}
break;
case 3:
String DatosChoferes[];
DatosChoferes=new String[5];
DatosChoferes[0]="";
DatosChoferes[1]="";
DatosChoferes[2]="";
DatosChoferes[3]="";
DatosChoferes[4]="";
int l;
for(l=0;l<5;l++){
DatosChoferes[l]+="Chofer # "+obj[l].get_idChofer()+" se llama "+obj[l].get_nombreChofer();
JOptionPane.showMessageDialog(null, DatosChoferes[l], "INFORMACION DE CHOFERES", JOptionPane.INFORMATION_MESSAGE);
}
break;
}
}
}
Ojala y puedan ayudarme, incluso dejo el rar por si quieren ver lo que el programa hace durante la ejecucion(lo poquito que dura XD ) :-p