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 ... 27 28 29 30 31 [32] 33 34 35 36 37 ... 68
621
Sí, ahora bien (aunque todavía has confundido en algún punto Especialista y Especialidad)

Saludos!

622
Comunidad / Re:error en curso html CU00727B
« en: 02 de Agosto 2015, 21:59 »
Hola Pedro lo he chequeado y tienes toda la razón. Lo he modificado y ahora debería estar correcto. Gracias por la aportación!

623
En lo que te muestra por pantalla se ve que no te está rescatando  $_REQUEST[id]; es decir que te tiene que llegar el dato de id pero no está llegando o no lo estás recuperando bien.

Tienes que comprobar si te llega la información para ello puedes escribir:

echo "Informacion recibida: ". $_REQUEST['id'];

Fíjate que estás escribiendo $_REQUEST[id] sin las comillas dentro del corchete y eso puede ser lo que te esté generando el problema.

Además debes pensar en realizar una concatenación del tipo:

Código: [Seleccionar]
$registros=mysqli_query($connect,"select idPacientes from Pacientes where idPacientes=".$_REQUEST['id']) or die("Ha ocurrido un problema...<br>".mysqli_error($connect));
Cuidando las comillas, que también pueden ocasionar problemas

Saludos!

624
Hola!

El título está bien.

El ejercicio no está bien. Si tienes 5 atributos, debes tener 5 métodos get y 5 métodos set. Sin embargo sólo hay dos métodos set.

Otra cosa que es importante que hagas es crear uno o varios objetos con BlueJ, establecer valores para sus atributos usando los métodos set y visualizar los valores de los atributos usando los métodos get. Esto debes hacerlo para los 5 atributos, preferiblemente creando varios objetos y haciendo pruebas. ¿Lo has hecho?

Saludos!

625
Hola!

Me encargo yo de cambiar el título del tema. Los títulos deben escribirse en minúsculas. Ya cuando crees nuevos temas en el futuro lo puedes tener en cuenta.

Sobre el error que te está dando ocurre lo siguiente:

En la clase Casa tienes esta línea:
Código: [Seleccionar]
cocina = new CocinaCasa (objetoCocinaCasa.getEsIndependiente(false), objetoCocinaCasa.getnumerodefuegos(0));
Y en la clase CocinaCasa tienes este método:

Código: [Seleccionar]
public boolean getEsIndependiente () {return esindependiente;}
El método getEsIndependiente() de la clase casa no tiene nada entre paréntesis. Es un método que se usa para recuperar o conocer el valor del atributo esindependiente de un objeto Cocina. El atributo esindependiente de un objeto Cocina puede tener uno de estos dos valores: true ó false. Estos valores se establecen o bien a través del constructor o bien mediante el uso de un método set.

Ahora supongamos que tenemos dos objetos Cocina que creamos así.

Código: [Seleccionar]
Cocina cocina1 = new Cocina();
Cocina cocina2 = new Cocina();
cocina2.setEsIndependiente(true);

El atributo esindepediente del objeto cocina1 valdrá false porque en el constructor cuando se crea un objeto a través de la sentencia new y el constructor Cocina() el atributo se inicializa a false.

En cambio en el objeto cocina2 el atributo esindependiente valdrá true porque lo hemos establecido con el método setEsIndependiente que así sea.

Ahora si hiciéramos

System.out.println(cocina1.getEsIndependiente()); lo que mostraría es false

System.out.println(cocina2.getEsIndependiente()); lo que mostraría es true

Si escribiéramos

System.out.println(cocina1.getEsIndependiente(false)); nos daría un error method getEsIndependiente in class CocinaCasa Cannot be applied to given types; required:no arguments; found:boolean; reason actual and formal argument lists differ in length

Esto lo que nos dice es que estamos intentando hacer un uso inadecuado del método getEsIndependiente(). Para llamar a este método tenemos que hacerlo como nos diga su definición en la clase Cocina. En su definición, el método no indica que haya de recibir nada (no hay nada entre los paréntesis). Por tanto solo podemos usar el método como getEsIndependiente(). Si tratamos de usarlo pasándole algún parámetro por ejemplo getEsIndependiente(false) ó getEsIndependiente("Pedro") nos dará error porque el método no está preparado para recibir ningún parámetro.

Puedes ver este ejercicio resuelto para guiarte: https://www.aprenderaprogramar.com/foros/index.php?topic=1238

Lo que yo te recomendaría más que ver el ejercicio resuelto es que vuelvas a la entrega CU00639B y vuelvas a leer las entregas desde ahí y vuelvas a repetir los ejercicios desde ahí para tratar de entender bien los conceptos porque si no lo haces se te va a hacer muy difícil el poder seguir avanzando.

Saludos!

626
Hola Dan!

Para localizar el error en la consulta prueba introducir
echo "CONSULTA: select idPacientes from Pacientes where idPacientes=$_REQUEST[id]"

Una vez hecho eso ¿qué mensaje es el que se te muestra por pantalla? (Ahí veremos la consulta para tratar de saber donde esta el error)

Saludos!

627
Hola!

Pedirte por favor que cuando escribas un mensaje relacionado con una entrega del curso indiques la referencia completa en el título, por ejemplo CU00642B.

El título también debe ser descriptivo, por ejemplo "Pasar objetos como parámetros a un método o constructor Java (CU00642B)" es un título correcto mientras que "Ejercicio nro 42 Java" no es un título idóneo porque no contiene la referencia ni describe el contenido.

También cuando presentes un código que te esté dando un problema indícanos con el mayor detalle posible cuál es el problema. Por ejemplo "He compilado la clase SalonCasa y CocinaCasa y no he tenido problemas, pero al tratar de compilar la clase Casa me aparece el mensaje java.lang.IndexOutOfBounds you are using an upper index than it´s permitted en la línea micasa = new Casa ("huytons", 55, 22); y la verdad no sé por qué ocurre esto"

De esta forma nos facilitas a quienes leamos el post poder localizar más rápidamente el ejercicio y el problema y así ser más fácil poder dar una respuesta.

Saludos!

628
Hola niurkafer, tienes que ir creando el código y compilando cada poco para comprobar que lo que lleves realizado te funciona bien.

En la clase Casa tienes errores por ejemplo

private tiposaloncasa saloncasa; no es una sintaxis válida

La sintaxis sería private SalonCasa saloncasa; donde en mayúsculas está el tipo o clase de referencia y en minúscula el nombre del atributo.

Esto también es erróneo: tiposaloncasa = new saloncasa ();

Si la clase es con mayúsculas no puedes escribirla con minúsculas, tendrías que escribirla

... = new SalonCasa ();

Desde que falle una letra aunque sea cambiar de mayúscula a minúscula te dará error.

Esto también es erróneo:

String tiposalon = tiposaloncasa.getTipoSalon;

Una invocación a get siempre tendrá que terminar con unos paréntesis o con unos paréntesis y algunos valores dentro, sería al menos tiposaloncasa.getTipoSalon()

Como tienes muchos errores te recomiendo que lo borres y empieces desde cero compilando cada dos o tres líneas que crees para comprobar que no tienes errores.

Puedes mirar este ejercicio resuelto: https://www.aprenderaprogramar.com/foros/index.php?topic=1220

Saludos!

629
Hola!

En http://aprenderaprogramar.es/index.php?option=com_content&view=article&id=804:acceder-a-nodos-hijos-javascript-y-atributos-nodename-nodetype-y-nodevalue-o-texto-ejemplos-cu01126e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206 se explica que la representación interna puede variar de unos navegadores a otros, por tanto puede no obtenerse el resultado esperado con esta sintaxis. Más adelante en el curso se explica una sintaxis simplificada pues basta document.body para acceder por ejemplo document.body.style.backgroundColor = "yellow"; te da acceso directo al nodo con la sintaxis simplificada.

Para ver tu caso concreto tendrías que pegar el código exacto que estés utilizando, en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 se explica cómo hacerlo

También es útil que incluyas la referencia de la entrega del curso a que te estés refiriendo, por ejemplo CU01123E ó CU01167E, ya que aportando la referencia es más fácil y rápido de localizar el tema de la consulta.

Saludos!

630
Hola!

Con file_get_contents puedes rescatar todo el código HTML de una página web. Sin embargo esto no te permitirá reproducir exactamente la web que estás copiando porque te faltarán los archivos css, javascript, etc. Además si la web que estás copiando es una web dinámica, por ejemplo generada con php, sólo podrás copiar el contenido HTML servido en un momento concreto, pero no podrás acceder al código fuente que está en el servidor y que es el que hace que la web sea realmente dinámica (aunque si la vas copiando a cada rato podrías conseguir un efecto parecido a que fuera dinámica).

Tienes una referencia de file_get_contents en
http://aprenderaprogramar.es/index.php?option=com_content&view=article&id=604:extraer-codigo-fuente-de-pagina-web-con-php-leer-archivos-completos-filegetcontents-y-nl2br-cu00838b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193

Saludos!

631
Hola Camilo, si solo necesitas saber el número de registros que cumplen una condición en la base de datos (es decir, saber si hay por ejemplo 17 registros cuya ciudad es Medellín) lo más fácil es usar una consulta count.

Código: [Seleccionar]
SELECT COUNT(*), ciudad FROM usuarios WHERE `ciudad` = "Barcelona"
Nos devolvería el número de registros de la tabla usuarios donde el campo ciudad es Barcelona. El resultado podría ser como este:

COUNT(*)    ciudad
45           Barcelona


Esto significaría que hay 45 registros donde la ciudad es Barcelona.


También tienes opción a realizar una consulta donde cada una de las apariciones de la ciudad quede numerada:


Código: [Seleccionar]
SELECT  l.ciudad,
        @curRow := @curRow + 1 AS row_number
FROM    usuarios l
JOIN    (SELECT @curRow := 0) r
WHERE   l.ciudad = "Barcelona";


El resultado de esta consulta sería parecido a:

 ciudad    row_number
Barcelona    1
Barcelona    2
Barcelona    3
Barcelona    4

Tantas filas como veces aparezca la ciudad buscada.


Si además del nombre de ciudad quieres que aparezca el resto de la información de la tabla puedes usar:

Código: [Seleccionar]
SELECT  l.*,
        @curRow := @curRow + 1 AS row_number
FROM    usuarios l
JOIN    (SELECT @curRow := 0) r
WHERE   l.ciudad = "Barcelona";

En este caso el resultado sería parecido a

nombre                ciudad               row_number

Camilo                Bogotá               1
Andres                Bogotá               2
Francisco             Bogotá               3


Esto puedes combinarlo con una consulta previa para saber cuáles son las ciudades existentes en la base de datos, por ejemplo

Código: [Seleccionar]
SELECT DISTINCT ciudad
FROM usuarios

Te devolvería

Bogotá
Medellín
Cali
etc.

Saludos!

632
Hola niurkafer he detectado algunos errores que habría que corregir como

- Has confundido especialidad con especialista

- Faltan atributos en el constructor

- Faltan varios métodos set (en general todos los atributos deben llevar métodos get y set)

Puedes tomar el ejercicio resuelto en este hilo como referencia https://www.aprenderaprogramar.com/foros/index.php?topic=2762

Saludos!

633
Hola de nuevo niurkafer, el ejercicio no está bien resuelto, puede deberse al enunciado del ejercicio ya que en el enunciado se habla de tipo de motor y tipo de bomba, pero ambas cosas se refieren a lo mismo. Por ello el método debe usar la variable tipoBomba que es de tipo int y no una variable String como has usado tú. Otro problema adicional es que los String no se deben comparar usando ==, esto se explica más adelante en el curso.

Puedes orientarte viendo como esta resuelto este ejercicio en este otro hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=2077

Saludos

634
Hola niurkafer he revisado tu código y está todo correcto

Nota: tienes algunos comentarios mal colocados de tipo //metodo  dimeTipoMotor donde no deben ir, eso deberías corregirlo

635
Hola aprovecho para hacerte algunas propuestas de mejora sobre la clase EnvioDeProductos

En el constructor tienes fechaEnvio=Calendar.getInstance(); pero esto puede resultar confuso, no siempre, pero supongamos que la fecha del envío deba ser establecida con un set y que no se sabe en el momento de crear el objeto. En ese caso sería preferible escribir  fechaEnvio=null; de ese modo podremos detectar con exactitud que la fecha de envío no ha sido establecida.

La otra cosa a comentar a lo mejor la has visto ya en otros hilos del foro, es el método public void mostrarEnvio(){

En ese método usas System.out.println para mostrar datos por pantalla. Pero sería interesante en lugar de hacer eso hacer que el método devuelva un String, sería

public String obtenerDatosEnvio() { }

Básicamente haría lo mismo pero en vez de encargarse de mostrar por pantalla lo que haría sería devolver un String con la información. Desde el método main (o desde otro sitio) usaríamos el System.out.println para mostrar el String. Esto tiene una ventaja: ese String se puede usar para muchas cosas (por ejemplo para mostrar por pantalla, o para enviar un correo electrónico con los datos, o para guardar los datos en una base de datos, etc.). Cambiar el planteamiento de ese código sería un buen ejercicio para acomodarnos a las buenas prácticas. Esto enlazaría luego con la entrega CU00694B donde se explica el método toString() que también está relacionado con esto.

Saludos!

636
Ahora sí que has dejado el ejercicio completo y poco que comentar. Un truco que se suele usar por si quieres tenerlo en cuenta es escribir List<Producto> listaProductos= new ArrayList<Producto>();

De esta forma hacemos uso del polimorfismo de Java. listaProductos quedaría declarado como un List (interface que actúa a modo de superclase) e implementado como un ArrayList.

Saludos!

637
Comunidad / Re:Presentación y consulta
« en: 23 de Julio 2015, 18:23 »
Buen día Mario, tanto gusto saludarte. El planteamiento que has hecho es correcto. Yo el orden que te recomendaría es HTML luego CSS luego JavaScript y luego PHP. Pero también puedes poner PHP delante de JavaScript si lo deseas (aunque yo recomendaría hacerlo de la otra manera).

Este artículo puede que te resulte de interés: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=702:ique-es-y-que-estudiar-para-ser-programador-web-itinerario-de-formacion-plan-de-estudios-o-de-carrera&catid=39:orientacion-academica&Itemid=189

Saludos!

638
Aaaah! Así es, al agrandar la ventana ya he visto que aparecían los dos cuadros de texto. Voy a intentar responder la duda.

El método paintComponent es un método especial que es llamado cuando es necesario. Hasta cierto punto no somos nosotros quienes controlamos cuándo este método es llamado, sino que lo hace java. Algunos aspectos de la programación java y en particular aspectos relativos a interfaces gráficas son controlados por java en segundo plano.

El método paintComponent se encarga del re-pintado o re-dibujado de la interfaz en diferentes situaciones, por ejemplo al mover una ventana, al cambiar sus dimensiones, cuando hay cambios de foco, superposiciones y otras situaciones. Muchas de estas situaciones son detectadas automáticamente por java y se produce una llamada automática al método paintComponent.

El método pocas veces (casi nunca) es llamado directamente por el programador. En cambio sí suele usarse con cierta frecuencia el llamar al método repaint() para establecer el redibujado de ciertos componentes a través de código controlado por el programador (esto a su vez puede inducir una llamada en segundo plano al método paintComponent).

En el código que tú has planteado no tiene sentido establecer instrucciones como estas:

cuadro1=new JTextField();
cuadro2=new JTextField();

Si  haces esto, cada vez que se produce el redibujado se crean nuevos objetos cuadro1 y cuadro2. Cada vez que se crean, equivale a que los objetos son reiniciados, por tanto no te reconocerá un texto que existiera previamente.

En resumen, no tiene sentido reiniciar múltiples veces objetos gráficos cada vez que se produce una invocación indirecta al método paintComponent.

Dicho de otra manera: el código debe estar bien organizado y cada cosa debe ir donde debe ir. Introducirlo en otros puntos puede generar problemas.

Saludos

639
Hola Luis, el ejercicio está bien resuelto. Hay una curiosidad sobre este ejercicio que puedes leer en https://www.aprenderaprogramar.com/foros/index.php?topic=1972

Saludos!

640
Hola Campillo, el ejercicio no pide crear el código, sino sólo las signaturas. La creación de código se va estudiando poco a poco a lo largo del curso. Mira este hilo para hacerte una idea de lo que se pide https://www.aprenderaprogramar.com/foros/index.php?topic=956

Saludos!

Páginas: 1 ... 27 28 29 30 31 [32] 33 34 35 36 37 ... 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".