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 - César Krall

Páginas: 1 ... 37 38 39 40 41 [42] 43 44 45 46 47 ... 68
821
Hola toni, ya veo la lógica que has aplicado y no parece mala idea. Sin embargo, pienso que podrías haber creado el array usando cualquiera de las interfaces disponibles sin necesidad de crear una adicional.

Algo del tipo: private static List <Edificio> listaConstrucciones;

De forma que en vez de trabajar con el tipo Construccion trabajaras con el tipo Edificio, y de este modo evitar tener una interface vacía.

Respecto al curso "Lenguaje de programación Java nivel avanzado I" lo tienes (índice incluido) en https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180

Sin embargo este curso no está completo ni pulido como el de programación Java desde cero. Nuestra intención es acometer una revisión y ampliación en profundidad del mismo en cuanto nos sea posible, pero no podemos concretar cuándo estará disponible en su nueva versión. Quizás desde fuera no se percibe, pero son cursos que no se crean en un par de días :), eso sin hablar del mantenimiento  :-\

En el foro puedes comenzar a comentar y responder a mensajes que estén dentro de tu nivel desde ya. Si continuas colaborando con nosotros ya nos pondremos en contacto por privado contigo para ir comentando cosas, incluso en el futuro para cambiar tu status a moderador de foro o para otras cosas que puedan surgir. El tiempo dirá... Seguimos en contacto...

822
Hola Beginer, el código está bien. Unicamente hay una cosa que no lo está: no debes tener un atributo especialidad y otro oldEspecialidad a no ser que tengas necesidades específicas para hacerlo, y el ejercicio no dice nada de esto.

Para recuperar un atributo de la clase no te hace falta usar getEspecialidad();

Puedes hacerlo simplemente escribiendo especialidad

El método setEspecialidad podrías dejarlo así:

    public void setEspecialidad (String valorEspecialidad){
        System.out.println ("La especialidad del doctor: " + nombre + " " + apellido + " es: " + especialidad);
        System.out.println ("Ha cambiado la especialidad del doctor: " + nombre + " " + apellido + " De: " +especialidad + "  A: " + valorEspecialidad);
        especialidad = valorEspecialidad;
    }


En resumen:

- Eliminar el atributo oldEspecialidad por no ser necesario

- Modificar el método setEspecialidad, no es necesario hacer uso de oldEspecialidad

Saludos

823
Hola, el ejercicio sólo pide las signaturas e indicar si son métodos de tipo procedimiento o de tipo función, por tanto no hay que escribir el código.

Sobre las respuestas:

Todos los métodos deben ser public (no private)

Los nombres de métodos deben comenzar con minúscula e ir intercalando minúsculas a medida que sean necesarios. Por ejemplo sería getDuracionDeCancion en lugar de getduracionDeCancion

Esto está mal: private float setduracionDeCancines() prosedimiento

Sería public void setDuracionDeCanciones()  --- > tipo procedimiento

No es float porque no es un método que devuelva un valor, sino que se usa para establecer valores para los atributos o para realizar operaciones.

El método setNuevaCancion no sería una función, sino un procedimiento. No es un método que devuelva un valor, sino un método que recibe datos y esos datos se almacenan en la clase.

Aquí puedes ver más detalles: www.aprenderaprogramar.com/foros/index.php?topic=1251

Saludos

824
Hola toni, poco que comentar respecto a posibles mejoras del código. Como ya se ha hecho en otras ocasiones, felicitarte porque además de resolver el ejercicio estás ampliándolo con posibilidades creadas por tí. Además el diseño del código se ve cada vez más eficiente y usando los conceptos y diseño propios de la programación orientada a objetos.

Hay una cosa que me ha llamado la atención, la interface Construcción vacía y que después escribas public interface Instalacion extends Construccion, supongo que sería alguna idea que tenías en la cabeza o alguna prueba sobre cómo relacionar interfaces entre sí.

Creo que estás alcanzando, o ya has alcanzado, el final del curso de programación Java desde cero, que puedes considerar que has seguido brillantemente. No sé qué trayectoria tienes pensado seguir, pero comentarte que nos gustaría que siguieras colaborando con nosotros en los foros ahora como "profesor" ayudando y respondiendo a aquellas personas que, igual que tú y todos en su día incluido yo, están comenzando en el mundo de la programación. También existen otras posibilidades de colaboración y participación con la web, pero todo depende de la voluntad y posibilidades de las personas, ya que detrás de esto no hay ninguna gran empresa, sino simplemente eso, personas, y tanto los foros como el resto de la web funcionan gracias a eso.

A seguir adelante, un abrazo. 

825
Hola, te recomiendo que revises nuevamente el curso de php y que consultes sobre aquellos programas que no te funcionen.

Sobre la visualización de los errores en pantalla, aquí he dejado una información que espero que sea útil: https://www.aprenderaprogramar.com/foros/index.php?topic=1261.0

Saludos

826
Hola, debido a la cantidad de consultas recibidas sobre el tema dejo aquí esta información.

La visualización de errores en PHP hay que activarla si no está activada y queremos visualizar los mensajes de error en vez de una pantalla en blanco. Puede intentarse de distintas maneras, aquí indico algunas:

1) Contacta con el servicio de hosting y pide que te activen la depuración de errores php (php debugging)

2) Accede al fichero php.ini en el servidor y busca en él error_reporting y display_errors y cambia sus valores. No siempre es posible acceder al fichero php.ini (los responsables del servidor puede que no te tengan habilitado el acceso)

3) Crea un fichero cuyo nombre debe ser .httaccess (tal cual he escrito, el nombre del fichero empieza con un punto), o edítalo si ya existe y añade estas líneas:

php_flag  display_errors        on
php_value error_reporting       2039

4) Accede al cPanel o equivalente del servidor, busca la opción php debugging y actívala

Saludos,

827
Hola José, cuando utilizas php en un servidor el servidor tiene una configuración en la cual se le puede indicar si debe mostrar los mensajes de error o no por pantalla en caso de un error.

Por lo que se ve, tu servidor no tiene activada esta opción, por eso se te queda la pantalla en blanco (se produce un error, pero no se muestra el mensaje de error).

He probado tu código con un servidor que sí tiene activado el mostrar los mensajes de error y me sale lo siguiente:

Parse error: syntax error, unexpected '<' in /public_html/sistema1.php on line 7

Este es el primer error detectado (pero hay más).


En la línea 7 ( y en otras líneas) tienes escrito un <br/> incorrectamente, fíjate:

$insertar=   $_GET['insertar'];<br/>


<br/> es una etiqueta html y tú no puedes poner una etiqueta html sin más dentro de código php. Podrías concatenar la etiqueta como texto a mostrar, algo así como $insertar=   $_GET['insertar'].'<br/>'; pero en este caso no tiene demasiada lógica hacer esto, ya que tú lo que quieres es almacenar en la variable $insertar el valor recibido, por tanto simplemente debes escribir:

$insertar=   $_GET['insertar'];

En otras líneas ocurre algo parecido, por ejemplo:

echo $insertar;   <br/> <br/>   no es correcto.

Debes escribir echo $insertar.'<br/><br/>';

echo lo que hace es poner como código html el texto que se le pasa en forma de variables o entre comillas. En este caso el . es el operador para concatenar y así hacemos que se muestre como html el contenido de la variable y seguidamente dos saltos de línea.

Aquí tienes el mismo problema:

if($insertar == true)
      {
      echo 'Insertar';
      }
      <br/> <br/>
        if($mostrar == true)
      {

No puedes poner etiquetas html sueltas dentro de código php.

Tendrías que escribirlo como echo 'Insertar<br/><br/>';




El código "corregido" sería el siguiente:
Código: [Seleccionar]
<body>
<title> La respuesta del interpretador Php</title>
<?php
//Recepción de los datos del primer formulario
echo '<br/><br/>';
$insertar= $_GET['insertar'];
$mostrar= $_GET['mostrar'];
$eliminar= $_GET['eliminar'];
$consultar= $_GET['consultar'];

echo $insertar.'-1<br/><br/>';    
        echo 
$mostrar.'-2<br/><br/>'
        echo 
$eliminar.'-3<br/><br/>'
        echo 
$consultar.'-4<br/><br/>'

if($insertar == true)
{
echo 'Insertar<br/><br/>';

        if(
$mostrar == true)
{
echo 'Mostrar<br/><br/>';

if($eliminar == true)
{
echo 'eliminar<br/><br/>'
}
if($consultar == true)
{
echo 'Consultar<br/><br/>';
}
?>

</body>
</html>

Pruébalo para ver si te funciona y ya nos comentas.

Saludos!

828
Comunidad / Re:Saludos, cuasi-humanos
« en: 03 de Septiembre 2014, 20:04 »
Para mi gusto sí es un poco "excesivamente grande". Si la puedes dejar con una altura en torno a 100px te lo agradezco pues así no agrandará tanto los posts. Saludos!

829
Comunidad / Re:Saludos, cuasi-humanos
« en: 03 de Septiembre 2014, 17:13 »
Lo del banco no te lo recomiendo, se supone que son los sistemas más seguros que hay (se supone) y los que más gastan en seguridad, con lo cual es donde más gente tendrías detrás tuyo. Puedes empezar con algo más sencillito como la ONU o el gobierno de algún país pequeñito  ;D

830
Comunidad / Re:Saludos, cuasi-humanos
« en: 03 de Septiembre 2014, 13:14 »
Tranquilo dongo, aquí no damos largas a nadie... a no ser casos extremos o molestos, si algún día te decides dedicar al hackeo por favor utiliza otra web  8)

831
Hola erniker, así es, el ejercicio se refiere a eso. Pero te faltan cosas que pide el ejercicio: no tienes toda la estructura definida, no tienes etiquetas html, no tienes bien definido el meta-charset (has puesto ulf-8 cuando debe ser utf-8), no tienes imágenes, etc.

Pero la idea sí es lo que has puesto, ver cómo a través de php se puede generar el código html volcándolo mediante una instrucción echo

Si no tienes los conocimientos básicos de html te recomiendo que primero hagas el curso de html y luego el de php en lugar de al revés  ::)

Saludos

832
Aprender a programar desde cero / Re:Ayuda con ejercicios
« en: 26 de Agosto 2014, 20:10 »
Hola, si no sabes por dónde empezar es que posiblemente no has estudiado cosas básicas.

Para adquirir las nociones básicas de programación recomendamos comenzar con este curso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

No es necesario estudiarlo todo, sólo algunas partes. Puedes empezar leyendo hasta la entrega CU00111A y consultando las dudas que te surjan.

Saludos!

833
Hola, saber de algoritmos y pseudocódigo siempre es útil, tanto para Java como para cualquier lenguaje. Supón que java equivale a tocar la guitarra eléctrica y que la algoritmia y pseudocódigo equivalen al solfeo y bases de la música. Si se te da bien, puedes aprender a tocar la guitarra eléctrica sin haber estudiado solfeo y bases de la música, pero si sabes solfeo y bases de la música posiblemente puedas sacarle más partido a la guitarra eléctrica. El problema está en que aprender las bases también requiere tiempo, así que la decisión es tuya según el tiempo de que dispongas.

Aquí tienes un curso de algoritmos y pseudocódigo: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Y aquí un curso de Java: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Saludos!

834
Aprender a programar desde cero / Re:Ejercicio! entrega CU00686B
« en: 25 de Agosto 2014, 17:53 »
Hola sniper, he revisado tu código y está perfecto. Hay una cosa que sí merecería ser mejorada relacionada con los métodos para mostrar información, pero lo verás tú mismo cuando llegues a la entrega CU00690, donde se explica la sobreescritura de métodos. Enhorabuena!

835
Aprender a programar desde cero / Re:Quiero aprender a programar
« en: 23 de Agosto 2014, 16:09 »
Ese puede ser un libro válido para empezar. No lo conozco en detalle pero puede estar bien. A primera vista lo veo un poco amplio al tratar de abordar en un curso de fundamentos cuestiones como programación orientada a objetos y distintos lenguajes. Quizás mucha materia para empezar. Una opción es que pruebes con él y si ves que es didáctico y va paso a paso, que sigas con él. El autor es un autor de prestigio y el libro puede que esté bien. Saludos.


836
Aprender a programar desde cero / Re:Quiero aprender a programar
« en: 22 de Agosto 2014, 14:30 »
Nosotros como es lógico recomendamos nuestros materiales:

Artículo para empezar a leer algo: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=28&Itemid=73

Curso gratuito para aprender a programar: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Cursos tutorizados on line (para empezar recomendamos el de fundamentos de programación): http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87

Libro para aprender a programar: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=97&Itemid=106

No recomendamos Java ni programación web para empezar, de acuerdo con nuestros criterios didácticos.

Saludos

837
Aprender a programar desde cero / Re:Ejercicio CU00632B
« en: 20 de Agosto 2014, 12:01 »
Ahora el código está ok  :)

Lo de los métodos get y set es tal y como tú dices: no es estrictamente necesario usar get y set, se puede cambiar el nombre y el método sigue funcionando. ¿Por qué se usan esos nombres? Porque es una convención o acuerdo entre todos los desarrolladores (de lenguajes, programadores, etc.), no una obligación. Piensa por ejemplo que tú escribes de izquierda a derecha, pero podrías escribir de derecha a izquierda y también podría entenderse. No es estrictamente necesario que escribas de izquierda a derecha, pero lo haces porque todo el mundo lo hacemos y así nos entendemos mejor que si cada uno hiciera las cosas a su manera.

¿Qué pasa si no usas los get y set? Pues lo mismo que si escribes de derecha a izquierda, en realidad pasar pasar no pasa nada, pero los demás no te van a entender  ::)

Saludos

838
Aprender a programar desde cero / Re:Ejercicio CU00632B
« en: 19 de Agosto 2014, 10:17 »
Hola, tienes varias cosas que mejorar en este código.

En el constructor:

    public Medico (){
        nombre = "";
        apellidos = "";
        edad = 20;
        casado = false;
        id = "me00000";
        especialidad= "cirujano";
    }

Lo normal es inicializar a valores false, 0 ó vacío, por tanto un médico recién creado no tendría 20 años de edad, sino el valor 0 que sirve para saber que no ha sido establecida su edad.

Lo más normal sería esto:

    public Medico (){
        nombre = "";
        apellidos = "";
        edad = 0;
        casado = false;
        id = "";
        especialidad= "";
    }

Y el problema principal: no tienes métodos get y set. El enunciado te pide:

"los métodos para poder establecer y obtener los valores de los atributos"

Los métodos que has definido no están bien planteados.

Vuelve a leer los contenidos del curso y los ejemplos del curso sobre los métodos get y set.

Fíjate también en cómo lo han resuelto otros compañeros en el foro: https://www.aprenderaprogramar.com/foros/index.php?topic=1132

Una vez hayas releído y revisado lo ideal es que trates de escribir tú mismo el código, si eres capaz de hacerlo será que habrás entendido bien los conceptos, que es lo interesante...

Saludos

839
Hola sniper, el código no me compila.

También veo varios problemas en el diseño del código. La clase VehiculosYDias no creo que tenga un nombre adecuado: si la clase es para definir objetos Vehiculo se debe llamar Vehiculo, otros aspectos como la marca o los días serán lo que tengan que ser , por ejemplo atributos, y no deben ir en el nombre.

También creo que no estás aplicando la idea que se propone en el ejercicio, que es usar una clase de tipo enum, es decir tienes public class VehiculosYDias pero si quieres declarar una clase tipo enum tendrías que escribir public enum VehiculosYDias. Son conceptos distintos.

Pero como te digo el código no me compila, no sé si falta código, esto sería lo primero que tendrías que revisar. Veo comentarios sobre desactivar y activar código, pero eso no es algo que sirva si un programa se le va a presentar a un cliente o a un usuario no puedes decirle que active y desactive código ya que te puede decir que de va a desactivar el trabajo  ;) Saludos.


840
Hola, yo también he mirado y probado el código y funciona bien, pero tengo una matización que hacer en función de lo que dice el enunciado:

Crea un programa Java que permita “jugar a adivinar un número” como se expone a continuación. El programa debe iniciarse indicando “Se ha generado un número aletatorio entero entre 1 y 100, intente adivinarlo”. El usuario introducirá un número y si el número aleatorio generado por el ordenador es menor deberá indicarse “No has acertado: el número es menor. Prueba otra vez”. Si el usuario introduce un número menor que el número aleatorio deberá indicarse “No has acertado: el número es mayor”. El programa terminará cuando el usuario introduzca el número aleatorio que había escogido el ordenador.

En teoría, debías crear un número aleatorio entre 1 y 100 (en tu caso has decidido que 100 sea un valor flexible, a lo que no le veo problema).

El problema lo veo aquí:

  public void addNumeros(int cantidad)
  {
    for(int i = 1; i <= cantidad; i++)
    {
      listaDeNum.add(i);
    }
  }

Realmente no estás generando un número aleatorio entre 1 y cantidad, sino que estás creando un ArrayList de enteros entre 1 y cantidad, para luego elegir aleatoriamente un número de entre los números existentes en ese ArrayList.

Ahora te planteo las siguientes preguntas:

¿Realmente es necesario crear la lista para después elegir el número?

¿Si tuviéramos que elegir un aleatorio entre decimales qué ocurriría?

¿Sería eficiente el proceso si el aleatorio hubiera que elegirlo entre 1 y 100000000000?

Donde quiero ir a parar es que aunque en este contexto no tenga demasiada importancia (de hecho el tiempo que puede consumir es inapreciable para números pequeños) el diseño falla en cuanto a eficiencia: hacer algo, que consume recursos como memoria y tiempo, sin que realmente sea necesario.

El código lo veo bien trabajado, pero esta es la impresión que he sacado en cuanto al diseño, aunque quizás me equivoque en algo, por ello creo que lo mejor es que lo revises tú mismo y trates de valorar lo comentado. Saludos.

Páginas: 1 ... 37 38 39 40 41 [42] 43 44 45 46 47 ... 68

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