Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - toni_apr

Páginas: 1 ... 20 21 22 23 24 [25]
481
Hola. A mi me funciona la compilación y ejecución. Pido que me marquéis deficiencias y mejoras.
Van 3 clases Casa, Salon y Cocina
Gracias.

Código: [Seleccionar]
/**
 * Detalles de la clase.
 *
 * @author (Toni)
 * @version (0)
 */
public class Casa {

    // Atributos de la clase Casa
    private double superficie;
    private String direccion;
    private Salon salonCasa; //Declaracion de objeto tipo Salon
    private Cocina cocinaCasa; // idem tipo Casa

    /**
     * Constructor para objetos de la clase Casa
     */
    public Casa() {
        // Inicializa atributos
        superficie = 0.0d;
        direccion = "DesConocida";
        salonCasa = new Salon(); //Inicializa con nuevo salon
        cocinaCasa = new Cocina(); // Inicializa con nueva cocina
    } // Fin del constructor Casa

    // Siguen los setters para los atributos de la clase Casa
    public void setSuperficie ( double valorSuperficie ) {
        superficie = valorSuperficie;
    }

    public void setDireccion ( String valorDireccion ) {
        direccion = valorDireccion;
    }
   
    public void setSalon ( int numeroTV, String valorTipoSalon ) {
        salonCasa.setNumeroDeTelevisores ( numeroTV );
        salonCasa.setTipoSalon ( valorTipoSalon );
    }
   
    public void setCocina ( boolean valorEsIndependiente, int valorNumeroDeFuegos ) {
        cocinaCasa.setEsIndependiente ( valorEsIndependiente );
        cocinaCasa.setNumeroDeFuegos ( valorNumeroDeFuegos );
    }

    // Ahora los getters para los atributos de la clase Casa
    public double getSuperficie () {
        return superficie;
    }

    public String getDireccion () {
        return direccion;
    }

    public String getSalon () {
        return "Salón tipo " + salonCasa.getTipoSalon() + ", con " +
        salonCasa.getNumeroDeTelevisores() + " televisor/es.";
    }

    public String getCocina () {
        String negacion = "";
        if ( cocinaCasa.getEsIndependiente() == false ) { negacion = "no "; }
        return "En cuanto a la cocina, " + negacion + "es independiente, y tiene " +
        cocinaCasa.getNumeroDeFuegos() + " fuego/s.";
    }
    // Y seguidamente, procedimientos y funciones varios.
    public void dimeloTodoTodoTodo () {
        String mensaje = "Casa con una superficie de " + superficie + " unidades.\n";
        mensaje = mensaje + "Localizada en: " + direccion + ".\n";
        mensaje = mensaje + "Donde destacamos lo siguiente:\n";
        mensaje = mensaje + getSalon () + "\n";
        mensaje = mensaje + getCocina ();
        mensaje = mensaje + "\n\n\tFin del comunicado.";
        System.out.println ( mensaje ) ;
    }
} // Fin de la clase Casa

Código: [Seleccionar]
/**
 * Detalles de la clase.
 *
 * @author (Toni)
 * @version (0)
 */
public class Salon {

    // Atributos de la clase Salon
    private int numeroDeTelevisores;
    private String tipoSalon;

    /**
     * Constructor para objetos de la clase Salon
     */
    public Salon() {
        // Inicializa atributos
        numeroDeTelevisores = 0;
        tipoSalon = "DesConocido";
    } // Fin del constructor Salon
   
    // Siguen los setters para los atributos de la clase Salon
    public void setNumeroDeTelevisores ( int valorNumeroDeTelevisores ) {
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }
   
    public void setTipoSalon ( String valorTipoSalon ) {
        tipoSalon = valorTipoSalon;
    }
   
    // Ahora los getters para los atributos de la clase Salon
    public int getNumeroDeTelevisores () {
        return numeroDeTelevisores;
    }
    public String getTipoSalon () {
        return tipoSalon;
    }
    // Y seguidamente, procedimientos y funciones varios.

} // Fin de la clase Salon

Código: [Seleccionar]
/**
 * Detalles de la clase.
 *
 * @author (Toni)
 * @version (0)
 */
public class Cocina {

    // Atributos de la clase Cocina
    private boolean esIndependiente;
    private int numeroDeFuegos;

    /**
     * Constructor para objetos de la clase Cocina
     */
    public Cocina() {
        // Inicializa atributos
        esIndependiente = false;
        numeroDeFuegos = 0;
    } // Fin del constructor Cocina
   
    // Siguen los setters para los atributos de la clase Cocina
    public void setEsIndependiente ( boolean valorEsIndependiente ) {
        esIndependiente = valorEsIndependiente;
    }
   
    public void setNumeroDeFuegos ( int valorNumeroDeFuegos ) {
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    // Ahora los getters para los atributos de la clase Cocina
    public boolean getEsIndependiente () {
        return esIndependiente;
    }
   
    public int getNumeroDeFuegos () {
        return numeroDeFuegos;
    }
    // Y seguidamente, procedimientos y funciones varios.

} // Fin de la clase Cocina

482
Aprender a programar desde cero / Re:Ejercicio CU00619B
« en: 18 de Junio 2014, 15:10 »
Hola Alex.
Gracias por la ayuda.
Aquí abajo dos muestras de que me sale.
Otra cosa Alex. Si quiero colocar una imagen de mi ordenador, o una captura de pantalla, o una selección hecha en el Paint de windows
¿También se puede? Gracias otra vez.



483
Aprender a programar desde cero / Re:Ejercicio CU00619B
« en: 18 de Junio 2014, 08:00 »
Hola.
Después de releer, veo que vuestras indicaciones, (me refiero a RabihWehby y a Alex Rodríguez) son más que correctas, acertadas.

Al hacer el ejercicio, hice sólo la parte de ¿que operaciones se pueden hacer en una clase? y me salté todo lo anterior, yendo hacia atrás, me faltaban varios objetos de una de las clases, más arriba clases de varios tipos (AviónDeCarga, AvionDeCaza ...) y más arriba la superclase Avion.

Siempre he oído que hay que leer bien las preguntas antes de responder. Y aquí, veo que salté directamente a la parte que tenía clara y pasé de lo demás.

Gracias de nuevo por hacérmelo ver.
Sal U2

PostData: He querido insertar una imagen en el mensaje y no sé como utilizar el botón <Insertar imagen>. Podeis indicarme. Siempre gracias.

484
Aprender a programar desde cero / Re:Ejercicio CU00619B
« en: 17 de Junio 2014, 21:35 »
Gracias por vuestra aportación.
A, RabihWehby y a Alex Rodríguez

El esquema de la superclase, Ok, un esquema perfecto.
Pero yo tomé como  muestra el esquema que sigue el de la superclase, el de:

Clase Taxi {
    Propiedades:
    Matrícula identificativa
    Distrito en el que opera
    Tipo de motor diesel o gasolina
    Coordenadas en las que se ubica

    Operaciones disponibles:
    Asignar una matrícula
    Asignar un distrito
    Asignar un tipo de motor
    Ubicar en unas coordenadas
}

Además, aún no he llegado a las superclases, que por lo que veo debe ser una clase de contiene clases...

Repito, gracias por vuestros comentarios.
Sal U2

485
Aprender a programar desde cero / Re:Ejercicio CU00638B
« en: 17 de Junio 2014, 21:11 »
Hola César, gracias por tu comentario.

Si, ahora que lo dices en tu nota, si, no había tenido en cuenta esa norma de < un método una tarea >.
Reconozco que me venía muy bien ponerlo todo junto. Pero tomo nota para el futuro.

Gracias.
Sal U2

486
Hola envío el ejercicio CU00638B para revisión.
Agradecería comentarios en cualquier sentido.

Código: [Seleccionar]
/**
 * Descripción de la clase.
 *
 * @author (Toni)
 * @version (0)
 */
public class Motor
{
    // Variables de la intancia
    int tipoBomba;
    String tipoFluido;
    String combustible;

    /**
     * Constructor para objetos de la clase Motor
     */
    public Motor()
    {
        // Inicializa variables
        tipoBomba = 0;
        tipoFluido = "No hay establecido un valor definido para el tipo de bomba";
        combustible = "DesConocido";
    }

    // A continuación los métodos setters.
    public void setTipoBomba ( int valorTipoBomba ) {
        tipoBomba = valorTipoBomba;
        setTipoFluido ();
    }

    public void setCombustible (String valorCombustible ) {
        combustible = valorCombustible;
    }

    private void setTipoFluido () {
        switch ( tipoBomba ) {
            case 0:
            tipoFluido = "No hay establecido un valor definido para el tipo de bomba";
            break;

            case 1:
            tipoFluido = "La bomba es una bomba de agua";
            break;

            case 2:
            tipoFluido = "La bomba es una bomba de gasolina";
            break;

            case 3:
            tipoFluido = "La bomba es una bomba de hormigón";
            break;

            case 4:
            tipoFluido = "La bomba es una bomba de pasta alimenticia";
            break;

            default:
            tipoFluido = "No existe un valor válido para este tipo de bomba";
            break;
        } // fin. switch
    }

    // A continuación los métodos getters
    public int getTipoBomba () { return tipoBomba; }

    public String getTipoFluido () { return tipoFluido; }

    public String getCombustible () { return combustible; }

    // A continuación métodos varios
    public void dimeTipoMotor ( String quienLoPregunta ) {
        System.out.println ( "Hola " + quienLoPregunta +  ", mira. " + tipoFluido +
            ", y usa como combustible: " + combustible + "." );
        if ( dimeSiMotorEsParaAgua () == true ) {
            System.out.println ("Ah. Si el agua es para riego, hay que añadir el fertilizante." );
        }
    }// fin del procedimiento con un parámetro

    private boolean dimeSiMotorEsParaAgua () {
        boolean motorEsParaAgua = false;
        if ( tipoBomba == 1 ) {
            motorEsParaAgua = true;
        }
        return motorEsParaAgua;
    }
}// fin de la clase


487
Hola Sniper, gracias por tus comentarios detallados.

Tienes razón. Para evaluar las expresiones, si dominas el tema, basta con evaluar cada expresión y ver si está bien o no. Espero conseguir un dominio así en un futuro próximo.

En cuanto a tus comentarios sobre la clase Medico, he aquí mi punto de vista.
Lo del nombre de las variables <numeroDNI>, puede que no sea apropiado, pero ese detalle solo lo vemos tu y yo al ver el código. El usuario que ejecuta el programa, ignora estos detalles.
Por otro lado, si las salidas por consola, no son adecuadas, o no son las las esperadas, pues que quieres que te diga. Un programa como este, listo para ser usado, tendría un propósito: Que lo use el médico, o un administrador, o distintas personas. Habría que decidir bien que respuestas da el programa.
Para mí en este momento, el primer propósito era dar respuesta por consola de los cambios, naturalmente, lo he hecho a mi manera, me parecía demasiado seco poner:
System.out.println ("El nombre del médico es: " + nombre); .

Acepto que mis respuestas (las que da el programa) puedan dar lugar a error (nunca engaño).
Gracias por tu punto de vista. Yo, nunca habría llegado a esas conclusiones.
Sal U2

488
Hola Sniper. Gracias por tu comentario.
Permíteme una pregunta.
Yo he probado el código y me funciona, supongo que tu has hecho lo mismo, o compruebas que las instrucciones están bien escritas.

En cuanto a la evaluación de las expresiones ¿Tienes una plantilla de respuestas o algo asi?

Dime algo Sniper. Saludos.

489
Hola envío el ejercicio CU00633B

Código: [Seleccionar]
/**
 * @author (Toni)
 * @version (0)
 * Atributos de la clase Medico...
 * nombre, apellidos, edad, casado, numeroDNI y especialidad
 */
public class Medico {

    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    String numeroDNI;
    String especialidad;

    /**
     * Constructor inicializador
     */
    public Medico()
    {
        nombre = "DesConocido";
        apellidos = "DesConocidos";
        edad = 0;
        casado = false;
        numeroDNI = "DesConocido";
        especialidad = "DesConocido";
    }

    //Métodos para establecer atributos

    public void setNombre (String valorNombre) {
        System.out.println ("El médico conocido por < " + nombre +
            " > se ha cambiado el nombre por el de < " + valorNombre + " >.");
        nombre =  valorNombre;
    }

    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
        System.out.println ("Al médico de nombre < " + nombre +
            " > le corresponden los apellidos < " + apellidos + " >.");
    }

    public void setEdad (int valorEdad) {
        edad =  valorEdad;
        System.out.println ("Se hace saber que el médico < " + nombre + " " + apellidos +
            " > tiene una edad de < " + edad + " > años.");
        calculoParaMultiploEdad();
    }

    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
        System.out.println ("Se nos ha comunicado que el médico < " + nombre + " " + apellidos +
            " > está casado, y hemos de decir que eso es < " + casado + " >.");
    }

    public void setNumeroDNI (String valorNumeroDNI) {
        numeroDNI = valorNumeroDNI;
        System.out.println ("Terminados los procesos de verificación, certificamos que el DNI " +
            "del médico < " + nombre + " " + apellidos + " > es: \n" + numeroDNI);
    }

    public void setEspecialidad(String valorEspecialidad){
        especialidad = valorEspecialidad;
        System.out.println("Ejectivamente, tras cotejar las titulaciones aportadas, " +
            "aseguramos que el médico < " + nombre + " " + apellidos + " > tiene la especialidad de: < " +
            especialidad + " >");
    }

    //Métodos para leer atributos

    public String getNombre () { return nombre; }

    public String getApellidos () { return apellidos; }

    public int getEdad () { return edad; }

    public boolean getCasado () { return casado; }

    public String getNumeroDNI () { return numeroDNI; }

    public String getEspecialidad () { return especialidad; }

    //Años que faltan para tener una edad múltiplo de 5
    public void calculoParaMultiploEdad () {
        int tempEdad = edad;
        int faltanAños = 0;
        faltanAños = 5 - (tempEdad % 5);
        System.out.println ("\tAtención. \nAl médico < " + nombre + " " + apellidos + " > \n" +
            "Con especialidad en < " + especialidad + " > le faltan < " + faltanAños + " > años para que su edad sea múltiplo de 5.");
    }
}

Y también el ejercicio CU00634B (evaluación de expresiones)

Código: [Seleccionar]
Dadas las variables de tipo int con valores A = 5, B = 3, C = -12 indicar si la evaluación de estas expresiones daría como resultado verdadero o falso:

EVALUACION EXPRESION
<True> a) A > 3
<True> b) A > C

<False> c) A < C
<False> d) B < C

<True> e) B != C
<False> f) A == 3

<True> g) A * B == 15
<False> h) A * B == -30

<True> i) C / B < A
<False> j) C / B == -10

<True> k) C / B == -4
<False> l) A + B + C == 5

<True> m) (A+B == 8) && (A-B == 2)
<True> n) (A+B == 8) || (A-B == 6)

<False> o) A > 3 && B > 3 && C < 3
<True> p) A > 3 && B >= 3 && C < -3

Saludos.

490
Ejercicio CU00632B Código de la clase Medico:

Código: [Seleccionar]
/**
 * @author (Toni)
 * @version (0)
 * Atributos de la clase Medico...
 * nombre, apellidos, edad, casado, numeroDNI y especialidad
 */
public class Medico {

    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    String numeroDNI;
    String especialidad;

    /**
     * Constructor inicializador
     */
    public Medico()
    {
        nombre = "DesConocido";
        apellidos = "DesConocidos";
        edad = 0;
        casado = false;
        numeroDNI = "DesConocido";
        especialidad = "DesConocido";
    }

    //Métodos para establecer atributos

    public void setNombre (String valorNombre) {
        System.out.println ("El médico conocido por < " + nombre +
            " > se ha cambiado el nombre por el de < " + valorNombre + " >.");
        nombre =  valorNombre;
    }

    public void setApellidos (String valorApellidos) {
        apellidos = valorApellidos;
        System.out.println ("Al médico de nombre < " + nombre +
            " > le corresponden los apellidos < " + apellidos + " >.");
    }

    public void setEdad (int valorEdad) {
        edad =  valorEdad;
        System.out.println ("Se hace saber que el médico < " + nombre + " " + apellidos +
            " > tiene una edad de < " + edad + " > años.");
    }

    public void setCasado (boolean valorCasado) {
        casado = valorCasado;
        System.out.println ("Se nos ha comunicado que el médico < " + nombre + " " + apellidos +
            " > está casado, y hemos de decir que eso es < " + casado + " >.");
    }

    public void setNumeroDNI (String valorNumeroDNI) {
        numeroDNI = valorNumeroDNI;
        System.out.println ("Terminados los procesos de verificación, certificamos que el DNI " +
            "del médico < " + nombre + " " + apellidos + " > es: \n" + numeroDNI);
    }

    public void setEspecialidad(String valorEspecialidad){
        especialidad = valorEspecialidad;
        System.out.println("Ejectivamente, tras cotejar las titulaciones aportadas, " +
            "aseguramos que el médico < " + nombre + " " + apellidos + " > tiene la especialidad de: < " +
            especialidad + " >");
    }
   
    //Métodos para leer atributos
   
    public String getNombre () { return nombre; }
    public String getApellidos () { return apellidos; }
    public int getEdad () { return edad; }
    public boolean getCasado () { return casado; }
    public String getNumeroDNI () { return numeroDNI; }
    public String getEspecialidad () { return especialidad; }
   
}


Saludos.

491
Hola. En el ejercicio CU00630B. Esquema de la clase  DiscoMusical
------------------------------------------
Clase DiscoMusical

   0 Constructor DiscoMusical ( )

   1 Función public float dimeDuracionCancion ( int valorNumeroCancion )

   2 Procedimiento public void saludaAndSolicitaDiezCancionesConSuDuracion ( )

   3 Función public float dameDuracionTodasLasCanciones ( )

   4 Procedimiento public void añadeNuevaCancion ( int numeroNuevaCancion, String tituloNuevaCancion, float minutosNuevaCancion )
-----------------------------------------

Saludos.

492
Aprender a programar desde cero / Re:Ejercicio CU00624B
« en: 14 de Junio 2014, 20:15 »
Gracias por las indicaciones.
Ciertamente < setEsDigital > casi se explica solo, mejor que el < setDigital >

Saludos.

493
Hola. Presento ejercicio CU00624B para revisar. Gracias.

Código: [Seleccionar]
/**
 * @author (Toni)
 * @version (0)
 */
public class DiscoMusical {//Declaración de variables

    String titulo;
    String autor;
    int annoEdicion;
    String formato;
    boolean digital;

    public DiscoMusical() { // constructor inicializador
        titulo = "DesConocido";
        autor = "DesConocido";
        annoEdicion = 0;
        formato = "DesConocido";
        digital = false;
    }// fin constructor

    //métodos para establecer atributos
    public void setTitulo(String valorTitulo) {
        titulo = valorTitulo;
    }

    public void setAutor(String valorAutor) {
        autor = valorAutor;
    }

    public void setAnnoEdicion(int valorAnnoEdicion) {
        annoEdicion = valorAnnoEdicion;
    }

    public void setFormato(String valorFormato) {
        formato = valorFormato;
    }

    public void setDigital(boolean valorDigital) {
        digital = valorDigital;
    }

    // métodos para tomar atributos
    public String getTitulo() { return titulo; }

    public String getAutor() { return autor; }

    public int getAnnoEdicion() { return annoEdicion; }

    public String getFormato() { return formato; }

    public boolean getDigital() { return digital; }
}


494
Hola. Presento ejercicio CU00623B del curso básico de programación orientada a objetos POO para revisar. Gracias

Código: [Seleccionar]
/**
 * @author (Toni)
 * @version (0)
 * Atributos persona virtual
 */
public class Persona { // declaración de atributos

    String nombre;
    String apellidos;
    int edad;
    boolean casado;
    String numeroDNI;

    // el constructor inicializa atributos/campos/propiedades
    public Persona() {
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        numeroDNI = "";
    }// este constructor solo inicializa

    //establecer atributos
    public void setNombre(String valorNombre) {
        nombre = valorNombre;
    }

    public void setApellidos(String valorApellidos) {
        apellidos = valorApellidos;
    }

    public void setEdad(int valorEdad) {
        edad = valorEdad;
    }

    public void setCasado(boolean valorCasado) {
        casado = valorCasado;
    }

    public void setNumeroDNI(String valorNumeroDNI) {
        numeroDNI = valorNumeroDNI;
    }

    // tomar atributos
    public String getNombre() { return nombre; }

    public String getApellidos() { return apellidos; }

    public int getEdad() { return edad; }

    public boolean getCasado() { return casado; }

    public String getNumeroDNI() { return numeroDNI; }
}

495
He empezado el curso de programación Java de aprenderaprogramar haciendo los ejercicios para mí sin exponerlos en el foro, solo pidiendo ayuda cuando me ha aparecido un problema. Después he pensado que debería mostrar todos los ejercicios para que los profesores me corrijan las deficiencias y/o vicios que tenga. Así pues, empiezo con el primer ejercicio: Esquema de una clase.

Ejemplo CU00619B

Clase Avion { //inicio clase

   Propiedades/campos:
      Matrícula avión
      Fabricante
      Capacidad pasajeros
      Tipo propulsión
      Aerolínea propietaria
      Espacio aéreo de operación
      Coordenadas GPS

   Operaciones disponibles:
      Asignar matrícula
      Asignar fabricante
      Asignar capacidad pasajeros
      Asignar tipo propulsión
      Asignar propietario avión
      Asignar espacio aéreo
      Asignar posición radar
      Leer matrícula
      Leer fabricante
      Leer capacidad pasajeros
      Leer tipo propulsión
      Leer propietario avión
      Leer espacio aéreo
      Leer posición radar
}  //  fin clase

Gracias

496
Aprender a programar desde cero / Re:Ejercicio CU00657B
« en: 12 de Junio 2014, 11:39 »
Gracias por el método .equals()
En cuanto la palabra <static> se que tendrá su importancia, pero no se cuando se pone o no.

He hecho los cambios y funciona OK
Gracias

497
Hola. En este ejercicio tengo un if cuya condición siempre es false, y no se porqué
-
if (primeraLetra(entradaTeclado) == "a")
-
Ahí va el código completo
Código: [Seleccionar]
import java.util.Scanner;

public class PracticaMain
{
    public  void main(){
        System.out.println("Introducir texto");
        String entradaTeclado ="";
        Scanner entradaEscaner = new Scanner(System.in);
        entradaTeclado = entradaEscaner.nextLine();
        int largoTexto = longitudTexto(entradaTeclado);
       
        String mensaje = "";
        if (largoTexto < 5){
            mensaje = "Texto inferior a 5 caracteres.";
        } else if ( largoTexto >= 5 && largoTexto < 16 ){
            mensaje = "Texto con caracteres entre 5 y 15.";
        } else {
            mensaje = "Texto con más de 15 caracteres.";
        }
        System.out.println(mensaje);
        System.out.println(primeraLetra(entradaTeclado));
       
        if (primeraLetra(entradaTeclado) == "a"){
            System.out.println(entradaTeclado + " comienza con 'a'");
        }else{
            System.out.println(entradaTeclado + " no empieza con 'a'");
        }
        //
    }

    private static int longitudTexto(String valorTexto){
        int largo=valorTexto.length();
        return largo;
    }

    private String primeraLetra(String valorTexto){
        return valorTexto.substring(0,1);
    }
}

Podeis ayudarme, gracias

Páginas: 1 ... 20 21 22 23 24 [25]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".