elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Re: Toma de contacto. Clases. en: 3 Noviembre 2012, 19:10 pm
Vale, pues ya esta, asunto resuelto. Muchas gracias por todo crack!
2  Programación / Java / Re: Toma de contacto. Clases. en: 2 Noviembre 2012, 19:23 pm
tu problema es o que el profesor es un imbécil (todo el tiempo)
o que solo fue un imbécil mientras hizo la pregunta (solo un momento).
o copiaste mal la pregunta
debido a que es difícil cometer tantos errores sutiles en tan poco tiempo me parece que es un imbécil todo el tiempo, o copiaste mal la pregunta
(no estoy molesto contigo)

bueno de todas manera te explico como se puede hacer siguiendo al pie de la letra el enunciado(tengo nausea)


Código
  1. import java.util.Date;
  2.  
  3. public class Vehiculo {
  4. private String marca;
  5. private String modelo;
  6. private Date fecha;
  7. private String matricula;
  8. private double cons; // (L/km)
  9. private int nombreVehiculos;
  10.  
  11. private static double autonomia;
  12. private static String diasDeCompra;
  13. private static int numeroDeVehiculos; // variable contadora de objeto
  14. // vehiculo
  15.  
  16. // Operaciones
  17. public Vehiculo(String fabricante, String mod, Date fechaCompra,
  18. String cad_matr, double consumo, int num_matr) {
  19.  
  20. marca = fabricante;
  21. modelo = mod;
  22. fecha = fechaCompra;
  23. matricula = cad_matr;
  24. cons = consumo;
  25. nombreVehiculos = num_matr;
  26.  
  27. numeroDeVehiculos++; // incremento de la variable contadora de objeto
  28. // vehiculo
  29. }
  30. }
  31.  

Código
  1. import java.util.Calendar;
  2. import java.util.Date;
  3.  
  4. public class Coche extends Vehiculo {
  5.  
  6. private int numPlazas;
  7. private String extra_confort;
  8. private int numCoches;
  9. private static int numeroDeCoches;
  10. private static String extrasCoches;
  11. private static int anyo;
  12.  
  13. public Coche(String fabricante, String mod, int año, int cad_matr,
  14. double consumo, int num_matr, int plazas, String extras) {
  15.  
  16. super(fabricante, mod, createCalendar(año), "" + cad_matr, consumo,
  17. num_matr);
  18.  
  19. numPlazas = plazas;
  20. extra_confort = extras;
  21.  
  22. numeroDeCoches++;
  23. }
  24.  
  25. private static Date createCalendar(int año) {
  26. Calendar calendar = Calendar.getInstance();
  27. calendar.set(Calendar.YEAR, año);
  28. calendar.set(Calendar.MONTH, 1);
  29. calendar.set(Calendar.DATE, 1);
  30. return calendar.getTime();
  31. }
  32. }

Gracias por contestar. Creo que me has metido en la senda correcta y te lo agradezco de veras, pero ahora me surge un pequeño problema:

Tenía el siguiente objeto definido:

Coche c1 = new Coche("Seat", "Ibiza", new Date(), "7390JDT", 66.30, 250, 5, "");

Entonces, se me queja en el campo de la fecha, porque es de tipo Date, y el que hemos establecido en el constructor de la clase Coche era tipo Int. Alguna sugerencia? La idea seria que utilizara solo el año de la fecha y lo pasara a entero supongo.. pero que yo sepa no existe conversiones de tipo Fecha a otro tipo.

Lo siento, mi nivel teórico no da para mucho más, y el práctico aún menos.. Este sistema educativo es un desastre, pretende enseñar Java en tiempo récord.
3  Programación / Java / Toma de contacto. Clases. en: 30 Octubre 2012, 17:52 pm
Hola, soy nuevo aquí.

Estoy haciendo un trabajo para el curso que estoy estudiando y ha llegado un punto en que no se como continuar. Le he preguntado varias veces al profesor y cada vez me dice una cosa distinta como escurriendo el bulto, asi que acudo a la comunidad, que es sabia y curtida en programación.

He aqui los ejercicios:

1. Hacer en Java la definición de una classe llamada Vehiculo. Hace falta escoger correctamente el modificador de accesibilidad y visibilidad de todos los datos y operaciones.

Atributos:

- Marca y modelo (cadena de carácteres)
- Fecha de compra (fecha)
- Matrícula (cadena de carácteres)
- Consumo, en litros por quilómetre (real)
- nombreVehiculos (entero)

Operaciones:

- Firma del constructor de la clase:
Vehiculo ( fabricante:Cadena, mod:Cadena, cad_matr:Cadena, num_matr:entero, consumo:real, fechaCompra:Fecha)
- Para cada atributo nos hará falta un método para la obtención de su valor.
- Un método que permita calcular la autonomia del vehiculo, és decir, devuelve los kilometros que se pueden hacer con una cantidad de carburante.
- Un método que devuelve los dias que hace que se compró el vehiculo.
- Un método que nos devuelve el numero total de objetos de la clase Vehiculo creados.


2. Definir por herencia la clase Coche (un Vehiculo que lleva gente).

- Los nuevos atributos son:

- Número de plazas (entero)
- Extras de confort (cadena de carácteres)
- Numero total de coches creados

Los métodos seran:

- Constructor con la firma siguiente,
Coche ( fabricante:Cadena, mod:Cadena, año:entero, cad_matr:entero, num_matr:entero, consumo:real, plazas:entero, extras:Cadena)
- Por cada nuevo atributo nos haran falta los métodos accesores correspondientes
- Un método que permita añadir un extra, a los que ya tiene el coche
- Un método que nos dice el numero total de coches creados.



Pues bien, el caso es que no se que hacer con los atributos del ejercicio 2 en negrita, ya que no se como obtener un tipo de datos que no es el que le paso. No se si me explico. Me piden año:entero, cad_matr:entero, cuando en el ejercicio anterior era fechaCompra:Fecha , cad_matr:Cadena... No se muy bien que hacer.



Esta es la situación:

SuperClase Vehiculo:

Código:
public class Vehiculo {
    private String marca;
    private String modelo;
    private Date fecha;
    private String matricula;
    private double cons; // (L/km)
    private int nombreVehiculos;
   
    private static double autonomia;
    private static String diasDeCompra;
    private static int numeroDeVehiculos; // variable contadora de objeto vehiculo
   
   
    //Operaciones
    public Vehiculo(String fabricante, String mod, Date fechaCompra,
    String cad_matr, double consumo, int num_matr){
       
        marca = fabricante;
        modelo = mod;
        fecha = fechaCompra;
        matricula = cad_matr;
        cons = consumo;
        nombreVehiculos = num_matr;
       
        numeroDeVehiculos++; //incremento de la variable contadora de objeto vehiculo
    }


SubClase Coche:

Código:
public class Coche extends Vehiculo {

    private int numPlazas;
    private String extra_confort;
    private int numCoches;
    private static int numeroDeCoches;
    private static String extrasCoches;
    private static int anyo;
   
    public Coche(String fabricante, String mod, Date fechaCompra, String cad_matr, double consumo, int num_matr, int plazas, String extras) {
        super(fabricante, mod, fechaCompra, cad_matr, consumo, num_matr);
       
        numPlazas = plazas;
        extra_confort = extras;

        numeroDeCoches++;
    }



EL PROBLEMA LO TENGO QUE AL USAR super NO PUEDO TOCAR EL ATRIBUTO cad_matr PARA QUE PASE A integer... O al menos no se como.

ESPERO QUE CON EL CODIGO SEA COMPRENSIBLE Y ALGUIEN SEPA AYUDARME.

Gracias de antemano!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines