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 - Dimitar Stefanov

Páginas: 1 ... 16 17 18 19 20 [21] 22 23 24 25 26 ... 30
401
Buenas a todos.

Os dejo una posible solución del ejercicio CU00659B del curso Java desde cero.

Citar
EJERCICIO

Crea una clase con un método main que pida una entrada de teclado y usando un bucle while, el método length de la clase String y el método substring de la clase String, muestre cada una de las letras que componen la entrada. Por ejemplo si se introduce “ave” debe mostrar:

Letra 1: a
Letra 2: v
Letra 3: e

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

public class BucleWhile{

    public static void main(String []args){
        System.out.println("Introduzca una cadena de texto");
        String msg = "";
        Scanner entradaPorConsola = new Scanner(System.in); //Creación de un objeto Scanner
        msg = entradaPorConsola.nextLine(); //Invocación un método sobre un objeto Scanner
        int i=0;
        while(i<msg.length()){
            System.out.println("Letra "+(i+1)+":"+msg.substring(i,i+1));
            i++;
            if(i==msg.length()){break;}
        }
    }
}

Gracias

402
Buenas noches.

Aquí dejo la solución a la que he podido llegar para el ejercicio CU00658B del curso Java desde cero.

Citar
EJERCICIO

Crea una clase con un método main que pida una entrada de teclado y usando un bucle for, el método length de la clase String y el método substring de la clase String, muestre cada una de las letras que componen la entrada. Por ejemplo si se introduce “ave” debe mostrar:

Letra 1: a
Letra 2: v
Letra 3: e

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

public class Bucle{
   
    public static void main(String []args){
        System.out.println("Introduzca una palabra");
        String msg = "";
        Scanner entradaEscanner = new Scanner(System.in); //Creación de un objeto Scanner
        msg = entradaEscanner.nextLine(); //Invocación un método sobre un objeto Scanner
        for(int i=0; i<msg.length();i++){
            System.out.println("Letra "+(i+1)+":"+msg.substring(i,i+1));
        }
    } //Cierre del main
   
} //Cierre de la clase

Quería preguntar qué significa: "(String []args)" en la línea:

Código: [Seleccionar]
public static void main(String []args){
Será un array tipo "String"? Pero qué quiere decir el "args" después del signo del array?

Gracias.


403
Buenas tardes.

Aquí dejo mi solución del ejercicio CU00657B del curso Java desde cero.

Citar
EJERCICIO

Crea una clase con un método main que pida una entrada de teclado y usando condicionales, el método length de la clase String y el método substring de la clase String, muestre un mensaje indicando:

a) Si la cadena introducida tiene menos de 5 caracteres, entre 5 y 15 caracteres o más de 15 caracteres.

b) Si la cadena introducida comienza por la letra a.

Ejemplo: se pide la entrada y el usuario introduce “vereda”. Por pantalla se debe mostrar: “La cadena introducida tiene entre 5 y 15 caracteres y no comienza por a”.

Código: [Seleccionar]
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

public class EjercicioCU00657B{

    public static void main(String []args){
        System.out.println("Introduzca una cadena por teclado:");
        String entradaPorTeclado = "";
        String msg = "La cadena tiene menos de 5 carácteres y empieza por la letra \"a\"";
        Scanner entradaMetodoScanner = new Scanner(System.in); //Creación de un objeto Scanner
        entradaPorTeclado = entradaMetodoScanner.nextLine();
        if(entradaPorTeclado.length() < 5 && entradaPorTeclado.matches("a.*") != true ){
            msg = "La cadena tiene menos de 5 carácteres y NO empieza por la letra \"a\"";
        }else if(5 <= entradaPorTeclado.length() && entradaPorTeclado.length()<= 15 && entradaPorTeclado.matches("a.*") == true){
            msg = "La cadena tiene más de 5 y menos de 15 carácteres y empieza por la letra \"a\"";
        }else if(5 <= entradaPorTeclado.length() && entradaPorTeclado.length()<= 15 && entradaPorTeclado.matches("a.*") != true){
            msg = "La cadena tiene más de 5 y menos de 15 carácteres y NO empieza por la letra \"a\"";
        }else if(entradaPorTeclado.length()> 15 && entradaPorTeclado.matches("a.*") == true){
            msg = "La cadena tiene más de 15 carácteres y empieza por la letra \"a\"";
        }else if(entradaPorTeclado.length()>15 && entradaPorTeclado.matches("a.*") != true){
            msg = "La cadena tiene más de 25 carácteres y NO empieza por la letra \"a\"";
        }
            System.out.println(msg);
       
    } //Cierre del método "main"
} //Cierre de la clase

Quería aclarar varios asuntos.

Primero: como podéis ver he utilizado "!= true" en vez de "== false". No sé si su utilización es muy correcta.

Segundo: con el método "matches(expresionRegularParaCoincidencias)" y de la manera que lo he utilizado yo si se puede verificar si empieza o no la cadena por "a", pero como podría comprobar si contiene la "a". He probado con "nombreDeLaVariable.matches("*.a.*")", pero me salió un error.

Tercero: aquí os dejo el enlace para los que queráis ver la información del método ".matches()".

Gracias

404
Vuelvo a colgar los 3 códigos, porque para que podamos acceder al objeto "SalonCasa" y "CocinaCasa" desde "Casa" y poder modificar sus variables/campos/atributos, tenemos que hacer los mismos como "public". Así que, por lo tanto, los códigos quedarán asi:

Código "SalonCasa":

Código: [Seleccionar]
public class SalonCasa{
    public int numeroDeTelevisores;
    public String tipoSalon;
   
    public SalonCasa(){
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
   
    public SalonCasa(int valorNumeroDeTelevisores, String valorTipoSalon){
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }
   
    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }
   
    public void setTipoSalon(String valorTipoSalon){
        tipoSalon = valorTipoSalon;
    }
   
    public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
   
    public String getTipoSalon(){return tipoSalon;}
}

Código "CocinaCasa":

Código: [Seleccionar]
public class CocinaCasa{
    public boolean esIndependiente;
    public int numeroDeFuegos;
   
    public CocinaCasa(){
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
   
    public CocinaCasa(boolean valorEsIndependiente, int valorNumeroDeFuegos){
        esIndependiente = valorEsIndependiente;
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente = valorEsIndependiente;
    }
   
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public boolean getEsIndependiente(){return esIndependiente;}
   
    public int getNumeroDeFuegos(){return numeroDeFuegos;}
}

Y, por último, pero no menos importante, el código de "Casa":

Código: [Seleccionar]
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa(){
        superficie = 0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }
   
    public Casa(double valorSuperficie, String valorDireccion, SalonCasa classSalonCasa, CocinaCasa classCocinaCasa){
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = new SalonCasa(classSalonCasa.getNumeroDeTelevisores(), classSalonCasa.getTipoSalon());
        cocina = new CocinaCasa(classCocinaCasa.getEsIndependiente(), classCocinaCasa.getNumeroDeFuegos());
    }
   
    public void setSuperficie(double valor_superficie){
        superficie = valor_superficie;
    }
   
    public void setDireccion(String valor_direccion){
        direccion = valor_direccion;
    }
   
    public void setSalonCasa(int valor_numeroDeTelevisores, String valor_tipoSalon){
        salonCasa.numeroDeTelevisores = valor_numeroDeTelevisores;
        salonCasa.tipoSalon = valor_tipoSalon;
    }
   
    public void setCocina(boolean valor_esIndependiente, int valor_numeroDeFuegos){
        cocina.esIndependiente = valor_esIndependiente;
        cocina.numeroDeFuegos = valor_numeroDeFuegos;
    }
   
    public double getSuperficie(){return superficie;}
   
    public String getDireccion(){return direccion;}
   
    public SalonCasa getSalonCasa(){return salonCasa;}
   
    public CocinaCasa getCocina(){return cocina;}
}

Creo que ahora está muuuuucho mejor :)

Gracias

405
Buenos días.

Perdonad.

Código "SalonCasa":

Código: [Seleccionar]
public class SalonCasa{
    private int numeroDeTelevisores;
    private String tipoSalon;
   
    public SalonCasa(){
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
   
    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }
   
    public void setTipoSalon(String valorTipoSalon){
        tipoSalon = valorTipoSalon;
    }
   
    public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
   
    public String getTipoSalon(){return tipoSalon;}
}

Código "CocinaCasa":

Código: [Seleccionar]
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
    public CocinaCasa(){
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
   
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente = valorEsIndependiente;
    }
   
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public boolean getEsIndependiente(){return esIndependiente;}
   
    public int getNumeroDeFuegos(){return numeroDeFuegos;}
}

Código "Casa" :

Código: [Seleccionar]
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa(){
        superficie = 0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }
   
    public void setEsIndependiente(boolean valorEsIndependiente){
        cocina.setEsIndependiente(valorEsIndependiente);
    }
   
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        cocina.setNumeroDeFuegos(valorNumeroDeFuegos);
    }
   
    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        salonCasa.setNumeroDeTelevisores(valorNumeroDeTelevisores);
    }
   
    public void setTipoSalon(String valorTipoSalon){
        salonCasa.setTipoSalon(valorTipoSalon);
    }
   
    public void setSuperficie(double valorSuperficie){
        superficie = valorSuperficie;
    }
   
    public void setDireccion(String valorDireccion){
        direccion = valorDireccion;
    }
   
    public double getSuperficie(){return superficie;}
   
    public String getDireccion(){return direccion;}
   
    public SalonCasa getSalonCasas(){return salonCasa;}
   
    public CocinaCasa getCocinaCasa(){return cocina;}
   
}

Ahora creo que sí :)

406
Ai, la madre que me parió, tienes razón, jejej.
Dos veces pongo lo mismo. No sé por qué hago estas equivocaciones tan "de niño", quizás falta de experiencia....

Un saludo, Pedro.

407
Buenas, Pedro.

No sabes como me alegra ver este tipo de comentarios, "ejercicio correcto", aunque escasean en mis hilos, jijiij

Un saludo

408
Pues yo no me entero con los ejercicios, jejeje.

Como lo ponía como punto b), pensaba que se tenía que hacer aparte, con otro método.

Creo que tengo un problema con interpretar los ejercicios y lo que piden.

Un saludo

409
Efectivamente, jbodenser. Tienes toda la razón.

Creo que "Number()" es un método de un objeto global que existe en JavaScript, y los métodos siempre se invocan con "NombreDeMetodo(parámetro)".

Gracias.

410
Buenas noches a todos.

A continuación pongo la solución del ejercicio CU00654B del curso Java desde cero.

Citar
EJERCICIO

Define una clase Profesor considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y otro constructor que no reciba parámetros. El nombre de los parámetros debe ser el mismo que el de los atributos y usar this para asignar los parámetros recibidos a los campos del objeto. Crea los métodos para poder establecer y obtener los valores de los atributos, con sobrecarga de nombres y uso de this en los métodos setters (los que sirven para establecer el valor de los atributos). Compila el código para comprobar que no presenta errores, crea un objeto usando el constructor con sobrecarga. Comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Usa los métodos setters y comprueba que funcionen correctamente.

Código: [Seleccionar]
public class Profesor{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;
   
    public Profesor(String nombre, String apellidos, int edad, boolean casado, boolean especialista){
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.edad = edad;
        this.casado = casado;
        this.especialista = especialista;
    }
   
    public Profesor(){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        especialista = false;
    }
   
    public void setNombre(String nombre){
        this.nombre = nombre;
    }
   
    public void setApellidos(String apellidos){
        this.apellidos = apellidos;
    }
   
    public void setEdad(int edad){
        this.edad = edad;
    }
   
    public void setCasado(boolean casado){
        this.casado = casado;
    }
   
    public void setEspecialista(boolean especialista){
        this.especialista = especialista;
    }
   
    public String getNombre(){return this.nombre;}
   
    public String getApellidos(){return this.apellidos;}
   
    public int getEdad(){return this.edad;}
   
    public boolean getCasado(){return this.casado;}
   
    public boolean getEspecialista(){return this.especialista;}
}

Gracias

411
Buenas tardes.

Aquí dejo el ejercicio CU00649B del curso Java desde cero.

Citar
EJERCICIO

Crea una clase (ponle el nombre que quieras) que carezca de atributos y cuyo constructor esté vacío. En dicha clase debe existir un método tipo función que reciba 3 cadenas de texto y devuelva la cadena de texto combinación de: las dos primeras letras de la primera cadena, seguidas por un espacio en blanco, seguidas de las cuatro primeras letras de la segunda cadena, seguidas de un guión medio y seguido de las 6 primeras letras de la tercera cadena.

Código: [Seleccionar]
public class CU00649B{
    //Constructor
    CU00649B(){
        //Nada que declarar
    }
   
    String mix(String a, String b, String c){
        String msg = a.substring(0,2) + " " + b.substring(0,4) + "-" + c.substring(0,6);
        System.out.println(msg);
        return msg;
    }
}

Gracias

412
Buenas tardes.

Aquí dejo la solución del ejercicio CU00647B del curso Java desde cero.

Citar
EJERCICIO

Una operación frecuente con valores numéricos puede ser obtener su valor absoluto, es decir, su valor sin signo. Por ejemplo el valor absoluto de -3.22 es 3.22 (hemos eliminado el signo negativo) y el valor absoluto de 7.15 es 7.15 (al ser este número positivo coincide con su valor absoluto). Otra operación frecuente es el cálculo de la raíz cuadrada de un número. Consulta la documentación de la clase Math del api Java para comprobar qué métodos permiten realizar estas tareas. Crea una clase denominada miniCalculadoraEjemplo que tenga dos métodos (basados en el uso de métodos de la clase Math): un método valorAbsoluto que recibe un número de tipo double y devuelva su valor absoluto, y otro método raizCuadrada que reciba un número de tipo double y devuelva su raíz cuadrada.

Código: [Seleccionar]
public class miniCalculadoraEjemplo{
   
    //Constructor
    public miniCalculadoraEjemplo(){
        //Nada que declarar
    }
   
    public double valorAbsoluto(double a){
        return Math.abs(a);
    }
   
    public double raizCuadrada(double a){
        return Math.sqrt(a);
    }
}

Gracias.

413
Buenas.

Pongo una posible solución del ejercicio CU00644B del curso Java desde cero.

Citar
EJERCICIO

Define una clase denominada multiplicadorDieces con un constructor vacío y que contenga un método denominado multiplicarPorDieces que reciba dos parámetros: el primero un número de tipo double y el segundo un número de tipo entero. El método debe devolver el resultado de multiplicar por 10 elevado al segundo número el primer número. Ejemplo: multiplicarPorDieces (2.55, 2) devuelve 2.55*100 = 255. multiplicarPorDieces (3, 5) devuelve 3*100000 = 300000. MultiplicarPorDieces (-0.0563, 3) devuelve -0.563 * 1000 = -56.3. Crea un objeto y comprueba que el método opera correctamente.

Código: [Seleccionar]
public class multiplicadorDieces{
    //Constructor
        public multiplicadorDieces(){
            //Nada que declarar
        }
       
    //Método 1 para calcular la potencia
    public double multiplicarPorDieces(double m, int n){
        double resultado = 1;
        int b = 10;
        for(int i=1;i<=n;i++){
            resultado = resultado * b;
        }
        resultado = resultado * m;
        return resultado;
    } //Cierre del método
       
} //Cierre de la clase

Gracias.

414
Creo que en la siguiente entrega (CU00642B) se aclara mi duda https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=523:la-sentencia-new-invocacion-de-un-constructor-para-crear-objetos-en-java-concepto-y-ejemplos-cu00643b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188

Exactamente dice:

Citar
nombreDelObjeto = new NombreDeLaOtraClase (parámetros requeridos por el constructor de la otra clase si los hubiera)

 Recordar que la variable nombreDelObjeto contiene una referencia (puntero) al objeto, no el objeto en sí mismo. La instrucción new implica que se producen dos acciones:

a)      Creación de un objeto de un tipo definido por una clase.

b)      Ejecución del constructor asociado.
;

Es decir, para la creación del nuevo objeto se usa el constructor de la clase "usada/referenciada/asociada" no de la clase "que usa/(en mi caso, "Casa")".  Por lo tanto, si tengo:

Código: [Seleccionar]
public Casa(CocinaCasa classCocinaCasa){
        cocina = new CocinaCasa(classCocinaCasa.getEsIndependiente(), classCocinaCasa.getNumeroDeFuegos());
    }

Tengo que ir al código de "CocinaCasa" y ver allí el constructor cómo se ha hecho. Si hay un constructor que no necesita parámetros, como por ejemplo:

Código: [Seleccionar]
public CocinaCasa(){
        esIndependiente = false;
        numeroDeFuegos = 0;
    }


No me funcionará el siguiente constructor en "Casa":

Código: [Seleccionar]
public Casa(CocinaCasa classCocinaCasa){
        cocina = new CocinaCasa(classCocinaCasa.getEsIndependiente(), classCocinaCasa.getNumeroDeFuegos());
    }

Obligatoriamente tiene que existir un constructor de este tipo:

Código: [Seleccionar]
public CocinaCasa(boolean valorEsIndependiente, int valorNumeroDeFuegos){
        esIndependiente = valorEsIndependiente;
        numeroDeFuegos = valorNumeroDeFuegos;
    }


para que funcione el constructor:

Código: [Seleccionar]
public Casa(CocinaCasa classCocinaCasa){
        cocina = new CocinaCasa(classCocinaCasa.getEsIndependiente(), classCocinaCasa.getNumeroDeFuegos());
    }

en la clase "madre", la que hereda (no se si está bien utilizado aquí este término).

Puse este razonamiento porque supongo que a mas de uno le ha surgido.

415
Buenas a toda la comunidad de programadores:)

Aquí pongo la solución del ejercicio CU00642B del curso Java desde cero.

Citar
EJERCICIO

Define tres clases: Casa, SalonCasa y CocinaCasa. La clase SalonCasa debe tener como atributos numeroDeTelevisores (int) y tipoSalon (String) y disponer de un constructor que los inicialice a 0 y “desconocido”. La clase CocinaCasa debe tener como atributos esIndependiente (boolean) y numeroDeFuegos (int) y un constructor que los inicialice a false y 0. La clase Casa tendrá los siguientes atributos de clase: superficie (double), direccion (String), salonCasa (tipo SalonCasa) y cocina (tipo CocinaCasa). Define un constructor para la clase Casa que establezca a unos valores de defecto los atributos simples y que cree nuevos objetos si se trata de atributos objeto. Define otro constructor que reciba como parámetros la superficie, dirección y un objeto de tipo SalonCasa y otro de tipo CocinaCasa. Compila el código para comprobar que no presenta errores, y crea un objeto de tipo Casa usando el constructor que recibe parámetros. Ten en cuenta que antes tendrás que haber creado los objetos de tipo SalonCasa y CocinaCasa para poder pasárselos al constructor. Comprueba que el objeto Casa se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto.

Código del objeto (clase) salón casa:

Código: [Seleccionar]
public class SalonCasa{
    private int numeroDeTelevisores;
    private String tipoSalon;
   
    public SalonCasa(){
        numeroDeTelevisores = 0;
        tipoSalon = "desconocido";
    }
   
    public SalonCasa(int valorNumeroDeTelevisores, String valorTipoSalon){
        numeroDeTelevisores = valorNumeroDeTelevisores;
        tipoSalon = valorTipoSalon;
    }
   
    public void setNumeroDeTelevisores(int valorNumeroDeTelevisores){
        numeroDeTelevisores = valorNumeroDeTelevisores;
    }
   
    public void setTipoSalon(String valorTipoSalon){
        tipoSalon = valorTipoSalon;
    }
   
    public int getNumeroDeTelevisores(){return numeroDeTelevisores;}
   
    public String getTipoSalon(){return tipoSalon;}
}

Código del objeto (clase) CocinaCasa:

Código: [Seleccionar]
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
    public CocinaCasa(){
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
   
    public CocinaCasa(boolean valorEsIndependiente, int valorNumeroDeFuegos){
        esIndependiente = valorEsIndependiente;
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente = valorEsIndependiente;
    }
   
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public boolean getEsIndependiente(){return esIndependiente;}
   
    public int getNumeroDeFuegos(){return numeroDeFuegos;}
}

Código del objeto (clase) Casa:

Código: [Seleccionar]
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa(){
        superficie = 0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }
   
    public Casa(double valorSuperficie, String valorDireccion, SalonCasa classSalonCasa, CocinaCasa classCocinaCasa){
        superficie = valorSuperficie;
        direccion = valorDireccion;
        salonCasa = new SalonCasa(classSalonCasa.getNumeroDeTelevisores(), classSalonCasa.getTipoSalon());
        cocina = new CocinaCasa(classCocinaCasa.getEsIndependiente(), classCocinaCasa.getNumeroDeFuegos());
    }
}

Quería comentar (consultar) algo. Si en el objeto (clase) CocinaCasa el código es:

Código: [Seleccionar]
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
    public CocinaCasa(){
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
   
   
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente = valorEsIndependiente;
    }
   
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public boolean getEsIndependiente(){return esIndependiente;}
   
    public int getNumeroDeFuegos(){return numeroDeFuegos;}
}

en vez de:

Código: [Seleccionar]
public class CocinaCasa{
    private boolean esIndependiente;
    private int numeroDeFuegos;
   
    public CocinaCasa(){
        esIndependiente = false;
        numeroDeFuegos = 0;
    }
   
    public CocinaCasa(boolean valorEsIndependiente, int valorNumeroDeFuegos){
        esIndependiente = valorEsIndependiente;
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public void setEsIndependiente(boolean valorEsIndependiente){
        esIndependiente = valorEsIndependiente;
    }
   
    public void setNumeroDeFuegos(int valorNumeroDeFuegos){
        numeroDeFuegos = valorNumeroDeFuegos;
    }
   
    public boolean getEsIndependiente(){return esIndependiente;}
   
    public int getNumeroDeFuegos(){return numeroDeFuegos;}
}

No me funciona los constructores en el código del objeto "Casa". Como que tiene que haber un constructor que se le pasan los valores de los atributos por parametros, en las clases usadas, para que funcione también el constructor de los parámetros en la clase que usa.

No sé si me he explicado bien. Creo que mejor lo veréis con los códigos que os he puesto antes. Lo mismo pasa con el código de la clase "SalonCasa". Si le quito el constructor que usa parámetros, tampoco me funciona el constructor con parámetros en la clase "Casa".

Gracias

416
Buenas, Pedro.

Que cabeza, madre mía. Tienes toda la razón. A continuación añado al código esto:

Código: [Seleccionar]
public void comprobarDiametroYGrosor(){
        if((diametro > 1.4 && grosor < 0.8) || (diametro <= 1.4 && diametro > 0.8 && grosor < 0.25)){
            System.out.println("El grosor para esta rueda es inferior al recomendado.");
        }
    }

y quedaría así:

Código: [Seleccionar]
public class Rueda{
    private String tipo, marca;
    private double grosor, diametro;
   
    public Rueda(){
    tipo = "";
    grosor = 0;
    diametro = 0;
    marca = "";
    }
   
    public void setTipo(String valorTipo){
        tipo = valorTipo;
    }
   
    public void setGrosor(double valorGrosor){
        grosor = valorGrosor;
    }
   
    public void setDiametro(double valorDiametro){
        diametro = valorDiametro;
    }
   
    public void setMarca(String valorMarca){
        marca = valorMarca;
    }
   
    public String getTipo(){return tipo;}
   
    public double getGrosor(){return grosor;}
   
    public double getDiametro(){return diametro;}
   
    public String getMarca(){return marca;}
   
    public void comprobarDimensiones(){
        if(diametro > 1.4){
            System.out.println("La rueda es para un vehículo grande");
        }else if(diametro <= 1.4 && diametro > 0.8){
            System.out.println("La rueda es para un vehículo mediano");
        }else{
            System.out.println("La rueda es para un vehículo pequeño.");
        }
    }
   
    public void comprobarDiametroYGrosor(){
        if((diametro > 1.4 && grosor < 0.8) || (diametro <= 1.4 && diametro > 0.8 && grosor < 0.25)){
            System.out.println("El grosor para esta rueda es inferior al recomendado.");
        }
    }
   
   
}

Gracias.

417
Buenas noches.

Aquí dejo una posible solución del ejercicio CU00641B del curso Java desde cero.

Citar
EJERCICIO

Define tres clases: Casa, SalonCasa y CocinaCasa. La clase SalonCasa debe tener como atributos numeroDeTelevisores (int) y tipoSalon (String) y disponer de un constructor que los inicialice a 0 y “desconocido”. La clase CocinaCasa debe tener como atributos esIndependiente (boolean) y numeroDeFuegos (int) y un constructor que los inicialice a false y 0. La clase Casa tendrá los siguientes atributos de clase: superficie (double), direccion (String), salonCasa (tipo SalonCasa) y cocina (tipo CocinaCasa). Define un constructor para la clase Casa que establezca a unos valores de defecto los atributos simples y que cree nuevos objetos si se trata de atributos objeto. Compila el código para comprobar que no presenta errores, crea un objeto de tipo Casa. Comprueba que se inicializan correctamente consultando el valor de sus atributos después de haber creado los objetos.

Código: [Seleccionar]
public class Casa{
    private double superficie;
    private String direccion;
    private SalonCasa salonCasa;
    private CocinaCasa cocina;
   
    public Casa(){
        superficie = 0;
        direccion = "";
        salonCasa = new SalonCasa();
        cocina = new CocinaCasa();
    }
}

Gracias

418
Buenas, Pedro.

Totalmente de acuerdo. Tu manera de hacer las cosas es mucho más sofisticada que la mía. Gracias por corregirme y darme esta solución.

Saludos.

419
Buenas tardes.

Aquí os dejo la solución del ejercicio CU00640B del curso Java desde cero.

Citar
EJERCICIO

Define una clase Profesor considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y otro constructor que no reciba parámetros. Crea los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto usando un constructor y luego otro objeto usando el otro constructor. Comprueba que se inicializan correctamente consultando el valor de sus atributos después de haber creado los objetos.

Código: [Seleccionar]
public class Profesor{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;
   
    public Profesor(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;
    }
   
    public Profesor(){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        especialista = false;
    }
   
    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 setEspecialista(boolean valorEspecialista){
        especialista = valorEspecialista;
    }
   
    public String getNombre(){return nombre;}
   
    public String getApellidos(){return apellidos;}
   
    public int getEdad(){return edad;}
   
    public boolean getCasado(){return casado;}
   
    public boolean getEspecialista(){return especialista;}
}

Gracias.

420
Buenas tardes.

Una posible solución del ejercicio CU00639B del curso Java desde cero.

Citar
EJERCICIO

Define una clase Bombero considerando los siguientes atributos de clase: nombre (String), apellidos (String), edad (int), casado (boolean), especialista (boolean). Define un constructor que reciba los parámetros necesarios para la inicialización y los métodos para poder establecer y obtener los valores de los atributos. Compila el código para comprobar que no presenta errores, crea un objeto y comprueba que se inicializa correctamente consultando el valor de sus atributos después de haber creado el objeto. Para comprobar si es correcta tu solución puedes consultar en los foros aprenderaprogramar.com.

Código: [Seleccionar]
public class Bombero{
    private String nombre;
    private String apellidos;
    private int edad;
    private boolean casado;
    private boolean especialista;
   
    public Bombero(String valorNombre, String valorApellidos, int valorEdad, boolean valorCasado, boolean valorEspecialista){
        nombre = valorNombre;
        apellidos = valorApellidos;
        edad = valorEdad;
        casado = valorCasado;
        especialista = valorEspecialista;
    }
   
    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 setEspecialista(boolean valorEspecialista){
        especialista = valorEspecialista;
    }
   
    public String getNombre(){return nombre;}
   
    public String getApellidos(){return apellidos;}
   
    public int getEdad(){return edad;}
   
    public boolean getCasado(){return casado;}
   
    public boolean getEspecialista(){return especialista;}
}

Gracias.

Páginas: 1 ... 16 17 18 19 20 [21] 22 23 24 25 26 ... 30

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