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 - javi in the sky

Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 ... 20
101
¡Lo siento! Pensé que como ya era una de las entregas finales ya se habían explicado las interfaces, retiro lo dicho pues no tiene sentido comentar algo que todavía no se ha estudiado  :-[

102
Hola! Explicación totalmente clara, con eso el ejercicio queda más que aclarado por lo que no veo necesidad de hacerle modificaciones.

Saludos!

103
Sí, ahora cumple lo que se pedía, aprovechando lo que se comenta en el otro hilo

Se puede usar Math.PI para recuperar el número pi

Se recomienda declarar los tipos estáticos de la clase de la interface para hacer uso del polimorfismo

Figura circulo1 = new Circulo(5.5);  tiene tipo estático Figura y tipo dinámico Circulo


Saludos!!

104
Hola RaGA!

Como se ha hablado en otros hilos recomendable no usar eñes en el código, private int añosConsolidados; - > private int annosConsolidados;

Luego

Código: [Seleccionar]
        Profesor profe1 = new Profesor("Danilo Salazar Quintana",28,2);
        Profesor profe2 = new ProfesorEmerito("Cándido Tolosa Martínez",63,28,3);
        ProfesorEmerito profe3 = new ProfesorEmerito("María Rosa Díaz Díaz",60,27,2);


Pero para hacerlo polimórfico completamente también escribiríamos Profesor profe3 = new ProfesorEmerito("María Rosa Díaz Díaz",60,27,2);

Tienes un error en este constructor

Código: [Seleccionar]
    /**
     * Constructor 2 para objetos de clase ProfesorEmerito
     */
    public ProfesorEmerito(int añosEmerito){
        super();
        añosEmerito=añosEmerito;
    }


Te ha faltado el this - > this.añosEmerito=añosEmerito;


Saludos!

105
Hola Lorenzo! La clase Figura según lo que pide el ejercicio debe tener como atributo dimensionPrincipal

Citar
Define una clase Figura de la que hereden otras dos clases denominadas Cuadrado y Círculo. La clase figura debe tener al menos el campo dimensionPrincipal. Las clases Cuadrado y Círculo deben tener al menos un método calcularArea que permita calcular el área a partir de la dimensión principal, utilizando la fórmula matemática correspondiente. Además, sobreescribe el método equals para que dos cuadrados sean iguales si tienen igual dimensión principal, y dos círculos idem. A continuación crea un programa test donde crees varios círculos y cuadrados y hagas comprobaciones de igualdad usando el método equals.

Las otras clases comparten este atributo, aunque en cada clase el significado es distinto.

En la clase Circulo, el atributo de la superclase se interpretará como radio (pero la subclase no tendrá este atributo, sino que lo usará a partir de la superclase)

En la clase Cuadradado, el atributo de la superclase se interpretará como si fuera el lado (pero la subclase no tendrá este atributo, sino que lo usará a partir de la superclase)

En este tema puedes ver un ejemplo y algunos comentarios - > https://www.aprenderaprogramar.com/foros/index.php?topic=2451.0

Saludos!!

106
Hola, código correcto y respuestas correctas. Lo veo todo bien!

Es interesante comprender el significado de los modificadores de acceso Java y también saber por qué se usan normalmente de una forma u otra.

Saludos!

107
a) ¿Un objeto de tipo estático declarado Taxi puede contener a un objeto Vehiculo en tiempo de ejecución?

Sobre este código lo que yo leería es esto:

Código: [Seleccionar]
public class test {

    public static void main (String[] Args){

        Vehiculo v1 = new Vehiculo();
        Taxi t1 = new Taxi();
        v1 = t1;
        t1 = (Taxi)v1;
        System.out.println("Ejecuta");
    }
}



Vehiculo v1 = new Vehiculo(); : v1 es un objeto de tipo estático vehiculo y tipo dinamico Vehiculo


Taxi t1 = new Taxi(); : t1 es un objeto de tipo estático Taxi y tipo dinámico Taxi

v1 = t1; : v1, que tiene declarado tipo estático vehículo, pasa a tipo dinámico Taxi

t1 = (Taxi)v1; : t1, que tiene tipo estático Taxi, ahora sigue con tipo dinámico Taxi pero referencia al objeto v1, que tiene declarado tipo estático Vehiculo

¿Un objeto de tipo estático declarado Taxi puede contener a un objeto Vehiculo en tiempo de ejecución?

No podría contener a un objeto de tipo dinámico Vehiculo, pero sí a un objeto de tipo estático Vehiculo y tipo dinámico taxi.

Puede ser que me haya liado...

108
Hola Dan del código todo correcto y de los coches yo me quedo con el Chevrolet Camaro, ya sabes, si te toca la lotería me lo envías por correo.

Saludos!!

109
Hola Lorenzo31! la respuesta a la pregunta a) es que sí, aunque es un poco difícil de explicar. Puedes ver la explicación en https://www.aprenderaprogramar.com/foros/index.php?topic=1276.0

La pregunta b) está bien la respuesta, la c) también (clase Vehiculo)

En la d) (clase Taxi) te falta la invocación a super en el método toString. Al ser una relación de herencia hemos de tener en cuenta lo que se hereda de la clase padre. Si no invocas a super en el método toString() no se mostrará toda la información completa (mira que en el constructor sí invocas a super para tener en cuenta a la clase padre). Puedes verlo en https://www.aprenderaprogramar.com/foros/index.php?topic=1147.0

La pregunta e) está bien la respuesta


Saludos!!

110
Hola Mikeien si te lo planteas a largo plazo, en casi cualquier lenguaje de programación se usa la orientación a objetos. El curso java desde cero te servirá para aprender los conceptos de la programación orientada a objetos si no la conoces

Link http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Saludos!!

111
Hola fedegaray, tu código está bien.

En el bucle

      while (it.hasNext()) {
            System.out.println (it.next());
        }

Lo que haces es mostrar los objetos completos por pantalla, en este caso es Java quien se encarga de mostrar el objeto. Pero no estás recorriendo cada uno de los elementos que contienen los objetos. A modo de ejercicio, sería interesante que probaras a recorrer cada uno de los elementos y mostrar cada elemento por separado.

Esto sería un ejemplo

Código: [Seleccionar]
import java.util.HashSet;
import java.util.TreeSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.Iterator;

public class TestPolimorfismo
{
    public static void main(String[]args){
        List<Set>miLista=new ArrayList<Set>();
        Set<String>miConjuntoDeStrings=new HashSet<String>();
        Set<Integer>miConjuntoDeIntegers=new TreeSet<Integer>();

        miConjuntoDeStrings.add("luna");
        miConjuntoDeStrings.add("sol");
        miConjuntoDeStrings.add("saturno");

        miConjuntoDeIntegers.add(2);
        miConjuntoDeIntegers.add(8);
        miConjuntoDeIntegers.add(5);

        miLista.add(miConjuntoDeStrings);
        miLista.add(miConjuntoDeIntegers);

        Iterator it1 = miLista.iterator();
       
        while (it1.hasNext()) {
            Set tmp = (Set)it1.next();
            Iterator it2=tmp.iterator();
            if(tmp instanceof HashSet) {
                System.out.println("Elementos del HashSet.");
            } else {
                System.out.println("Elementos del TreeSet.");
            }
            int i = 0;                               
            while(it2.hasNext()){
                System.out.println("i: " + (i++) + " - " + it2.next());
            }
        }
    }
}

Otra opción, para evitar tener que hacer el casting Set tmp = (Set)it1.next(); sería declarar el tipo que devuelve el iterator así:

Código: [Seleccionar]
        Iterator<Set> it1 = miLista.iterator();
       
        while (it1.hasNext()) {
            Set tmp = it1.next();
            Iterator it2=tmp.iterator();
            int i = 0;                               
            while(it2.hasNext()){
                System.out.println("i: " + (i++) + " - " + it2.next());
            }
        }

Declarándolo así el iterador es sobre Set, mientras que de la otra manera es sobre Object y de ahí que haga falta el casting.

112
Hola! Debes diferenciar entre etiquetas deprecated (obsoletas, no se deben usar) de otras que no son deprecated aunque se puedan sustituir por código css.

En el código tenemos:

Etiquetas sin problemas: html, head, title, body

Etiquetas deprecated (no se deben usar): ---

Etiquetas que pueden ser sustituidas usando css (recomendable): strong, em, del, big, small, sub, sup

Atributos deprecated, el text en  <body text="green"> y el bgcolor en  <body text="green" bgcolor="white"> , estos atributos no deben usarse.



La etiqueta </pre> se explica en la entrega CU00715B

Saludos!!

113
Saludos morrison

<meta charset="charset utf-8"> está mal, es <meta charset="utf-8">

<seccion> está mal es <section>

Esta ruta está mal src="C:\Users\Public\Pictures\Sample Pictures/crimson editor.jpg" tienes espacios y barras a veces / y a veces \ además es de tu pc no una url por eso la imagen no sale

Te falta cerrar la etiqueta <form>



Antes de dar por terminado el código te recomiendo usar Notepad++ y activar el remarcado de etiquetas, así puedes comprobar si las etiquetas tienen su cierre bien puesto o no.

 ;)

114
Hola Wilfrido, para que se apliquen los estilos tienes que definir el atributo class de los elementos HTML.

Es recomendable realizar este curso de HTML: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=69&Itemid=192

Y luego el de CSS: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=75&Itemid=203

El código quedaría así:

Código: [Seleccionar]
<html>
<head>
<title>CSS - aprenderaprogramar.com</title>
<style type="text/css">
.color_verde {
color: green;
}
.color_amarillo {
color: yellow;
}
</style>
</head>
<body>
<p class="color_verde">Este texto va de color verde.</p>
<p class="color_amarillo">Este texto va de color amarillo.</p>
</body>
</html>

Saludos!

115
Posiblemente como antes no te guardaba bien los datos tienes filas en la tabla de la base de datos que estarán vacíos y por eso no te muestra nada. Accede a la base de datos con phpMyAdmin y compruébalo

Saludos!

116
Tata tienes el código mal construido, por ejemplo:

Código: [Seleccionar]
       <header
      <h1>D A L L  T E X  A I R</h1>
  <h2>AIR CONDITIONING AND HEATING SERVICES</h2>
  </br></br>

<marquee  direction="left"loop="infinite"> Welcome Dalltexair</marquee></br>
<nav>
    <ul>
   
<li><a href="index.html">Home</a></li>
<li><a href="about us.html">About us</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="specials.html">Specials</a></li>
<li><a href="contact.html">Contact</a></li>
   
            </header>
    </nav>
         </ul>

Mira donde empieza <ul>, luego vienen los li y al terminar los li tendrías que cerrar el <ul>. No puedes cerrar antes el header,  porque entonces te queda el ul abierto dentro del header y cerrado fuera del header.

Tendrías que hacer los anidamientos en todo el código correctos, por ejemplo:

Código: [Seleccionar]
       <header
      <h1>D A L L  T E X  A I R</h1>
  <h2>AIR CONDITIONING AND HEATING SERVICES</h2>
  </br></br>

<marquee  direction="left"loop="infinite"> Welcome Dalltexair</marquee></br>
<nav>
    <ul>
   
<li><a href="index.html">Home</a></li>
<li><a href="about us.html">About us</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="specials.html">Specials</a></li>
<li><a href="contact.html">Contact</a></li>
      </nav>
         </ul>
            </header>

Aquí lo que abre dentro del header, cierra dentro del header. Esto habría que revisarlo en todo el código, lo que abre dentro de algo tiene que cerrar dentro de ese algo.

Saludos!

117
Hola JuanMontaña es posible que el problema se deba a que estás dejando espacios en blanco dentro de los campos name del formulario. Prueba a escribirlos sin espacios en blanco por ejemplo no usar name="Primer Apellido" sino todo minúsculas y unido poniendo un guión bajo donde iría un espacio, podría ser name="primer_apellido". Tendrías que revisar todos los nombres tanto en el html como el php. Saludos compañero.

118
Hola Lorenzo tu código esta correcto. En vez de semaforo podrías haber usado un nombre más relacionado con lo que haces, por ejemplo adivinado.

Citar
La asignación de valores esta clara, lo de no poner el new String [] , no sé a que se debe

Respuesta: se debe a que es una sintaxis especial que permite Java. Esto lo decidieron los creadores de Java que fuera así, es una forma más compacta para crear arrays. Cuando tengas que crear un array así es más rápido usar la forma compacta.

Esto es otra sintaxis: String[] meses = new String[12];

Siempre tienes que seguir las normas de sintaxis de java, lo que pasa es que a veces se permite hacer una misma cosa de distintas maneras.

Lo de ahorrar el semáforo o no puede que esté bien o puede que no: ten en cuenta que a veces es preferible escribir una línea o dos más y que el programa sea más claro que no escribir una línea menos y que el programa no se entienda

Saludos!!

119
Hola Dan, la declaración es como dices y la creación como dices (usando new).

Respuesta a) es correcta, si sólo has declarado el objeto simplemente has reservado un espacio de memoria, pero no puedes usar el objeto ya que no ha sido creado. Si lo intentas te aparece un mensaje de error: variable xx might not have been initialized

Respuesta b) es correcta, sí es posible (otra cosa es si será bueno o no).

Respuesta c) es correcta, Math es una clase externa por lo que la llamada a un método de Math es una llamada a un método externo.

Respuesta d) No es correcta :(

Si estamos hablando entonces, de llamar al pow por separado, no es necesario declarar ni crear una variable de la clase Math.

La pregunta es si la llamada a pow se hace sobre un objeto declarado y creado o no. La respuesta es que se hace sobre un objeto declarado y creado, pero no lo hemos declarado y creado nosotros, sino que lo ha hecho el propio compilador Java en segundo plano (es decir, se hace pero "no lo vemos").

Saludos!!

120
Hola pre tanto para pegar código como para ponerle título a los temas como verás en muchos hilos se recomienda leer esto -- https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Respecto al error que te sale ¿cuál es el mensaje de error?

Saludos

Páginas: 1 2 3 4 5 [6] 7 8 9 10 11 ... 20

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