Java - Ayuda con array en java

 
Vista:

Ayuda con array en java

Publicado por julio cesar peñaloza (1 intervención) el 19/05/2010 01:30:47
tengo este codigo:
package doparcial;

import javax.swing.JOptionPane;

public class parqueadero {
public static void main (String[]args){
metodos curso[]=new metodos[100];

int p;
String prop;
int garaje;
int hora;

int opcion,cont=0;

do{
String salida="MENU DE OPCIONES PARQUEADERO\n\n\n"+
"1. Guardar Carro con Numero de Placa\n\n"+
"2. Listar Carros\n\n"+
"3. Consultar Carros\n\n"+
"4. Retirar Carro\n\n"+
"5. Exit Program\n\n"+
"Digite una Opcion";

opcion =Integer.parseInt(JOptionPane.showInputDialog(null,salida));

switch(opcion){

case 1:p=Integer.parseInt(JOptionPane.showInputDialog(null,"Numero de Placa:"));
prop=JOptionPane.showInputDialog(null,"Propietario");
garaje=Integer.parseInt(JOptionPane.showInputDialog(null,"Numero Puesto en el Garaje"));
hora=Integer.parseInt(JOptionPane.showInputDialog(null, "Numero de Horas"));
curso[cont]=new metodos(p,prop,garaje,hora);
cont++;
break;

case 2:salida="";
for (int i=0;i<cont;i++){
salida=salida+" Placa: "+curso[i].getplaca()+" Propietario: "+curso[i].getpropietario()+" Numero puesto en el Garaje: "+curso[i].getgaraje()+" Horas: "+curso[i].gethora()+" "+"\n";
}

JOptionPane.showMessageDialog(null, salida);
break;

case 3:salida="";
p=Integer.parseInt(JOptionPane.showInputDialog(null,"Placa"));
for(int i=0;i<cont;i++){
if (p==curso[i].getplaca()){
salida=salida+curso[i].getplaca()+" "+curso[i].getpropietario()+" "+curso[i].getgaraje()+curso[i].gethora()+" "+"\n";
i=curso.length;

}

}
JOptionPane.showMessageDialog(null, salida);
break;

case 4:salida="";
double remove = 0;
p=Integer.parseInt(JOptionPane.showInputDialog(null,"Placa"));
for(int i=0;i<cont;i++){
if (p==curso[i].removeplaca()){
salida=salida+curso[i].removeplaca()+"Su Carro Ha sido Retirado. "+"\n";
i=curso.length;
}
}

JOptionPane.showMessageDialog(null,"Gracias Por Utilizar El parqueadero "+remove);
break;

case 5:System.exit(0);
break;
default:JOptionPane.showMessageDialog(null, "opcion erronea");
}
}while(opcion !=4);
}
}

este esta orientado a objetos aqui estan los metodos:

package doparcial;


public class metodos {

int placa;
String propietario;
int nro_garaje;
int nro_hora;

//metodos constructores

public metodos(){
placa=0;
propietario="";
nro_garaje=0;
nro_hora=0;
}

public metodos(int p,String prop,int garaje,int hora){
placa=p;
propietario=prop;
nro_garaje=garaje;
nro_hora=hora;

}

//metodos modificadores
public void setplaca(int p){
placa=0;
}

public void setpropietario(String prop){
propietario="";
}

public void setnro_garaje(int garaje){
nro_garaje=0;
}

public void setnro_hora(int hora){
nro_hora=0;
}

//metodos de consulta
public int getplaca (){
return(placa);
}
public int removeplaca(){
int curso = 0;
int p = -curso;
return(placa);
}
public String getpropietario(){
return(propietario);
}
public int getgaraje(){
return(nro_garaje);

}

public int gethora(){
return(nro_hora);

}

BUENO AHORA LO QUE PASA ES QUE NO ME CORRE BN EN CASE 4 DE RESTO TODO ESTA BN ESTO ES UN SIMULADOR DE UN PARQUEADERO O GARAJE PUBLICO COMO LO QUIERAN LLAMAR SOLO ME FALTA PODER BORRAR EL CARRO POR EL NUMERO DE SU PLACA. AYUDENME POR FA.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con array en java

Publicado por LeO (33 intervenciones) el 20/05/2010 03:14:44
Hola! mira Te convendria trabajar con La clase vector para usar el .remove() para borrar un Carro, ya que vos al hacer un arreglo de la Clase Metodos con un tamaño fijo se me hace que es imposible reducirle el tamaño a un arreglo, ya que estos son inmutables, Pero con la Clase vector sale Perfecto. Aca te dejo tu codigo con la Clase Vector, Miralo y decime que pensas...

import javax.swing.JOptionPane;
import java.util.*;

public class parqueadero {
public static void main (String[]args)
{
Vector v=new Vector();
int p,garaje,hora,opcion,cont=0;;
String prop;
do{
String salida="MENU DE OPCIONES PARQUEADERO\n\n\n"+
"1. Guardar Carro con Numero de Placa\n\n"+
"2. Listar Carros\n\n"+
"3. Consultar Carros\n\n"+
"4. Retirar Carro\n\n"+
"5. Exit Program\n\n"+
"Digite una Opcion";

opcion =Integer.parseInt(JOptionPane.showInputDialog(null,salida));

switch(opcion)
{

case 1:p=Integer.parseInt(JOptionPane.showInputDialog(null,"Numero de Placa:"));
prop=JOptionPane.showInputDialog(null,"Propietario");
garaje=Integer.parseInt(JOptionPane.showInputDialog(null,"Numero Puesto en el Garaje"));
hora=Integer.parseInt(JOptionPane.showInputDialog(null, "Numero de Horas"));
v.add(new Metodos(p,prop,garaje,hora));
break;
case 2:salida="";
for (int i=0;i<v.size();i++)
salida=salida+" Placa: "+((Metodos)v.elementAt(i)).getplaca()+" Propietario: "+
((Metodos)v.elementAt(i)).getpropietario()+" Numero puesto en el Garaje: "+
((Metodos)v.elementAt(i)).getgaraje()+" Horas: "+((Metodos)v.elementAt(i)).gethora()+" "+"\n";
JOptionPane.showMessageDialog(null, salida);
break;
case 3:salida="";
p=Integer.parseInt(JOptionPane.showInputDialog(null,"Placa"));
for(int i=0;i<v.size();i++)
{
if (p==((Metodos)v.elementAt(i)).getplaca())
{
salida=salida+((Metodos)v.elementAt(i)).getplaca()+" "+
((Metodos)v.elementAt(i)).getpropietario()+" "+((Metodos)v.elementAt(i)).getgaraje()+" "+
((Metodos)v.elementAt(i)).gethora()+" "+"\n";
i=v.size();
}
}
JOptionPane.showMessageDialog(null, salida);
break;
case 4: p=Integer.parseInt(JOptionPane.showInputDialog(null,"Placa"));
for (int j=0;j<v.size();j++)
{
if(((Metodos)v.elementAt(j)).getplaca()==p)
{
v.remove(j);
cont--;
JOptionPane.showMessageDialog(null, "El Carro ha sido Retirado!");
j=v.size();
}
}
break;
case 5:JOptionPane.showMessageDialog(null, "Gracias por Su visita!");
System.exit(0);
break;
default:JOptionPane.showMessageDialog(null, "opcion erronea");
}
}while(opcion !=5);
}
}

Y Esta es la Clase

public class Metodos {

int placa;
String propietario;
int nro_garaje;
int nro_hora;

//metodos constructores
public Metodos(int p,String prop,int garaje,int hora){
placa=p;
propietario=prop;
nro_garaje=garaje;
nro_hora=hora;
}
//metodos modificadores
public void setplaca(int p){
placa=0;
}

public void setpropietario(String prop){
propietario="";
}

public void setnro_garaje(int garaje){
nro_garaje=0;
}

public void setnro_hora(int hora){
nro_hora=0;
}
//metodos de consulta
public int getplaca (){
return(placa);
}

public String getpropietario(){
return(propietario);
}
public int getgaraje(){
return(nro_garaje);

}

public int gethora(){
return(nro_hora);

}
}

Suerte un abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar