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 - Alex Rodríguez

Páginas: 1 ... 52 53 54 55 56 [57] 58 59 60 61 62 ... 93
1121
Hola jimmorrison gracias por los comentarios. Tu código está bien. Puedes usar label en html5, no hay problema. Te recomiendo usar <meta charset="utf-8"> en lugar de  <meta charset="iso-8859-1">

Saludos

1122
Hola Kabuto, investigar y probar soluciones es bueno pues nos da mayor dominio de la programación. En el código que te fallaba tenías esto:

EnvioDeProductos nuevoEnvio = new EnvioDeProductos();

Iterator<Producto> it = nuevoEnvio.iterator();


Pero no te permitía iterar sobre un objeto nuevoEnvio... porque este objeto no permitía obtener iteradores.

Sin embargo un envío contenía un arrayList que sí permite obtener iteradores.

Si en el código de EnvioDeProductos introducimos:

    public ArrayList<Producto> getEnvio(){ return envioProductos;}

con esto ya podemos recuperar el ArrayList que sí permite obtener un iterador.

Luego en la clase TestEnvioProducto puedes recuperar el ArrayList:

Iterator<Producto> it = nuevoEnvio.getEnvio().iterator();

Todavía tendrías que hacer algunas correcciones, pero con esa idea creo que podrías conseguir que el código inicial funcionara.

Saludos

1123
Hola caludo, en la clase puedes tener un constructor sin parámetros, un constructor con parámetro, o ambos constructores si quieres. Al crear el objeto usas un constructor u otro según prefieras:

Código: [Seleccionar]
import java.awt.*;
import javax.swing.*;
public class ProbarComponentes extends PrimerFrame{

    public ProbarComponentes(){
        super("Ejemplo");
        setSize(300,200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setLayout(new FlowLayout());
        JButton play=new JButton("play");
        JButton stop=new JButton("stop");
        add(play);
        add(stop);
    }
   
    public ProbarComponentes(String tit){
        super(tit);
        setSize(300,200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
        setLayout(new FlowLayout());
        JButton play=new JButton("play");
        JButton stop=new JButton("stop");
        add(play);
        add(stop);
    }
    public static void main(String[]args){
        ProbarComponentes d=new ProbarComponentes("er");
    }
}

Saludos

1124
Hola Dan, buenas respuestas.

Citar
Una forma de solucionarlo es

Con instancia:
Hace falta crear un objeto Test. Así de simple. pero... esto seria incorrecto, una mala practica como dicen...

Eso no siempre es una mala práctica, puede ser que en algunos casos concretos sea útil y necesario. En cada caso habrá que decidir, pero es bueno conocer ambas opciones. Crear una instancia de la clase con el main puede hacerse y puede ser útil. Lo que no debemos es usar la clase del main para cosas que no le correspondan, pero no hay problema si creamos una instancia para hacer algo necesario.


Saludos

1125
Hola Dan, creo que te ha faltado incluir una clase porque no logro compilar el código (la clase Lector)

Para evitar esta repetición:

switch(datoMarca){
            case "Ford":
            case "ford":
                marca = MarcaVehiculo.FORD;
            break;

Podrías haber usado un if (datoMarca.equalsIgnoreCase("ford")) { ... } y creo que hubieras ahorrado algunas líneas.

Saludos

1126
Hola Dan, lo veo perfecto.

Si quisiéramos redondear los valores obtenidos se puede hacer con Math.round

Código: [Seleccionar]
public class MainPiedra {
    public static void main(String[]args){
    System.out.println("Un palet admite 2.27 m3 de volumen. A continuación el peso de los palets de las distintas piedras: ");
    for(Piedra aux: Piedra.values()){
        System.out.println(aux.toString() + ": el palet pesa " + Math.round((2.27*aux.getPeso())) + " Kg");
    }   
    }
}

Saludos

1127
Hola Raga, no voy a entrar a valorar el código, que entiendo implica un gran esfuerzo y por tanto un mérito para quien lo desarrolla. Me voy a centrar en el diseño. En la solución propuesta al ejercicio se ha creado una relación de herencia entre ProductoRefrigerado y ProductoCongelado

public class ProductoRefrigerado extends ProductoCongelado

Esto no es correcto porque aunque tuvieras razones como programador, la programación no debe ir en contra de la lógica del mundo real. En este caso si un producto refrigerado heradara de un producto congelado significaría que un producto refrigerado es un tipo de producto congelado, pero esto no es así (ver enunciado).

El diseño tiene un fallo grave: no existe una clase Producto, de la cual deben heredar ProductoCongelado, ProductoRefrigerado y ProductoFresco.

Esa relación de herencia sí sería correcta: un Producto congelado es un tipo de producto, un producto refrigerado es un tipo de producto, y un producto fresco es un tipo de producto.

Eso significa un fallo en el apartado a):

a) En primer lugar realizar un esquema con papel y bolígrafo donde se represente cómo se van a organizar las clases cuando escribamos el código. Estudiar los atributos de las clases y trasladar a la superclase todo atributo que pueda ser trasladado.

Al fallar el apartado a), falla todo lo demás.

Te recomiendo replantear el código teniendo esto en cuenta. Es útil ver las propuestas de otros compañeros, por ejemplo la de https://www.aprenderaprogramar.com/foros/index.php?topic=2342

Saludos

1128
Hola nenuko22 mira este enlace www.aprenderaprogramar.com/foros/index.php?topic=2259

También explica mejor qué es lo que te ocurre.

Saludos.

1129
Hola Jigsaw_MGO los cálculos que hace tu código están bien resueltos. Te recomendaría mantener una forma de nombrar a las variables que siga una convención. Por ejemplo si usas num_hectareas sería también lógico usar cantidad_pinos y no CantidadPinos. Si las variables empiezan por minúscula, todas deberían empezar por minúscula, no unas por minúscula y otras por mayúscula. Pero esto no afecta a los resultados, es solo de cara a la claridad del código como programadores. Saludos.

1130
Hola, ahora bastante mejor pero te insisto en que estos atributos no deberían de estar ahí:

    // Declaración de campos de instancia
    static String tmpFechaDeCaducidad;
    static int tmpNroLote;

Porque no son información que deba ir en esa clase. Si necesitas definir un String o un int, hazlo dentro del método main como variables temporales, no como variables de clase.

Saludos.

1131
Hola, eso que comentas que estudia más adelante en el curso. Sigue avanzando paso a paso, más adelante se explica cómo hacerlo. Saludos.

1132
Hola yornel13 a los nuevos en los foros les recomendamos leer https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 para saber cómo se pega el código.

Tu ejercicio está bien resuelto aunque por convención el nombre de clase en Java debe escribirse preferiblemente en mayúsculas.

Por el uso de scanner, main, etc. veo que no estás siguiendo el curso ordenadamente. Para que el curso te sea realmente útil te recomiendo seguirlo paso a paso sin utilizar en un ejercicio conocimientos que no se hayan explicado en el propio curso. De esa forma el curso te dará mayor rendiemiento y será más efectivo el aprendizaje.

Saludos.

1133
Sí, cuando se hace System.out.println(tmp) Java lo transforma automáticamente en System.out.println(tmp.toString())

Podemos escribir o no el toString o no según prefiramos.

Saludos

1134
Hola Juan, comprueba si recibes el dato:

echo "conexion exitosa. <br />";
      $Nombre1= $_POST ['Primer_Nombre'];
echo $_POST ['Primer_Nombre'];

Si no se muestra por pantalla es que no estás recibiendo el dato.

Saludos

1135
Hola Lorenzo, todo está bien así que nada que comentar. Has usado float para datos numéricos decimales. Es más habitual usar double, pero es el programador quien decide si usa float o double según considere más oportuno.

Saludos

1136
Hola RaGa: de la misma manera que se ha hecho en otros hilos, indicarte que este tipo de métodos

public void mostrarPaisDeOrigen(){System.out.print(paisDeOrigen+"\n");}

deberías de empezar a dejar de usarlos. En cambio deberías usar:

public String getPaisDeOrigen(){return ""+paisDeOrigen+"\n");}

Es decir, que el método devuelva un String. En la clase con el main, ya te encargarías de gestionar que se muestre por pantalla.

Tu clase TestHerencia2 es mejorable.

¿Para qué necesitas estos atributos en esta clase:

    static String tmpFechaDeCaducidad;
    static int tmpNroLote;

?

Esos atributos deben ser gestionados por la clase que le corresponda, no por la clase con el método main.


Con la clase GestorTipoProducto creo que te has hecho un pequeño lío:

TestHerencia2.cargarFechaCaducidadTipoProducto(GestionadorEntradasTeclado.leerString());

Esto es lo que se puede llamar código ofuscado: un código complicado con numerosas entrellamadas y difícil de entender (algo que no se debe utilizar).

Puedes mirar este ejercicio como ejemplo de solución: https://www.aprenderaprogramar.com/foros/index.php?topic=2306

Y te recomendaría revisar el diseño teniendo en cuenta lo siguiente: cada clase tiene sus responsabilidades, entre ellas gestionar sus atributos. Y la clase con el main únicamente tiene que encargarse de digirir la operación e interacción entre objetos, nada más.

Saludos

1137
Hola Lorenzo, ejercicio bien resuelto. Sobre lo laborioso de recoger enum del usuario, piensa que por ejemplo será más frecuente recogerlo a través de una lista desplegable tipo combobox donde el usuario solo tiene que elegir, no escribir. En este caso lo has resuelto bien para trabajarlo a través de teclado.

Saludos

1138
Hola Dan tus respuestas son correctas aunque te recomiendo que leas esto para completar: https://www.aprenderaprogramar.com/foros/index.php?topic=1033

Saludos

1139
Hola, el curso de Java avanzado se encuentra pendiente de completar. Lo haremos en cuanto nos sea posible. Saludos.

1140
Hola mauriaguerrido, el problema lo tienes en esta línea:

salon =  new SalonCasa (objetoSalon.getNumeroDeTelevisores(), objetoSalon.getTipoSalon());

Aquí estás intentando llamar a un constructor de la clase SalonCasa pasándole dos parámetros, sin embargo en la clase SalonCasa el único constructor que existe es este

    public SalonCasa () {
        numeroDeTelevisores = 0;
        tipoSalon = "Desconocido";
    }

Y este constructor no admite recibir parámetros.

Para corregir esto tendrías que definir un constructor en la clase SalonCasa que permita recibir parámetros (o usar new SalonCasa() sin parámetros).

Saludos

Páginas: 1 ... 52 53 54 55 56 [57] 58 59 60 61 62 ... 93

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