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 ... 40 41 42 43 44 [45] 46 47 48 49 50 ... 93
881
Aprender a programar desde cero / Re:Dudas al ejecutar en visual basic 6
« en: 05 de Septiembre 2015, 21:57 »
Hola blizz

Debes escribir Private Sub form_load()

No Private Sub from_load()

Saludos

882
Hola tollis habría que ver el código completo con el que estás trabajando. En principio con removeAll puedes eliminar todos los elementos de un combobox como en este ejemplo:

Código: [Seleccionar]
/*
Remove All Items From AWT Choice Or Combobox Example
This java example shows how to remove all items of a choice or
a combobox control using removeAll method of AWT Choice class.
 */

import java.applet.Applet;
import java.awt.Choice;

/*
<applet code="RemoveAllItemsExample" width=200 height=200>
</applet>
 */

public class RemoveAllItemsExample extends Applet{
    Choice language = null;
    public void init(){
        //create choice or combobox
        language = new Choice();

        //add items to the choice
        language.add("Java");
        language.add("C++");
        language.add("VB");
        language.add("Perl");

        //add choice or combobox
        add(language);

        /*
         * To remove all items from a choice or combobox, use
         * void removeAll()
         * method of AWT Choice class.
         */

        language.removeAll();
    }
}

Saludos

883
Hola MarckyMarck supón este ejemplo

public float dimeDuracionCancion ( int valorNumeroCancion )

Es una función ya que se indica que el tipo devuelto es float. Si en vez de un tipo se indica void es un procedimiento.

El nombre de la función en este caso es dimeDuracionCancion

La función requiere recibir como dato un número entero (int) al que se ha denominado valorNumeroCancion.

En resumen, se trata de una función que recibe el número de la canción y devolverá un valor decimal (un float) que es la duración de la canción.

Mira https://www.aprenderaprogramar.com/foros/index.php?topic=956 para aclarar las ideas

Saludos

884
Hola Rosa, la clave en este ejercicio está en el concepto de método o propiedad de instancia y método o propiedad estático.

Si pensamos en el tipo de objeto como un molde, las propiedades de instancia son las que son específicas de cada objeto. Por ejemplo si tenemos un molde para fabricar cubos de colores, cada instancia tiene un color distinto.

Sin embargo cuando hablamos de propiedad estática nos referimos a algo que es común a todos las instancias. En este ejemplo si definimos como propiedad estática que el color es rojo, todos los cubos serían rojos, no habría posibilidad de que un cubo fuera azul porque al ser estática es única.

En este ejercicio y releyendo lo que dice la entrega del curso:

Citar
Una propiedad o método estático no se duplica en cada objeto, sino que existe una única vez en memoria.

 De este ejemplo obtenemos la siguiente conclusión:

No se puede acceder a una propiedad o método estático desde una instancia, hay que hacerlo invocando directamente sobre el nombre del objeto que define el tipo (lo que llamaríamos sobre “la clase”).

El resultado será Soy un taxi Renault con carga undefined ¿Por qué? Porque this hace referencia al objeto dentro del cual se encuentra la invocación y en este caso estamos trabajando con un método estático que no conoce las propiedades de un objeto en particular.

Aplicado al código que has planteado tú:

Meteorito.obtenerRadio = function () {
   this.radio=(this.diametro)/2;
   alert('El radio es: '+this.radio);} //Método estático

No es válido porque un método estático no conoce las propiades particulares de un objeto, como sería el diámetro. Por tanto this.diametro no puede ser invocado, y this.radio tampoco tiene sentido en este contexto.

Una respuesta al ejercicio puede ser esta:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
 
function Meteorito (diametro, temperatura, nombre) {
this.diametro=diametro;
this.temperatura=temperatura;
this.nombre=nombre;
}
 
Meteorito.definicionSegunDiccionario = 'Fragmento de un bólido que cae sobre la Tierra'; //Propiedad estática
Meteorito.obtenerRadio = function (diametro) {
radio=(diametro)/2;
alert('El radio es: '+radio);} //Método estático

Meteorito.obtenerTemperatura= function(temperatura){
temperaturaF=(temperatura)*1.8+32;
alert('La temperatura en grados Farenheit es: '+temperaturaF);
}

function ejemploObjetos() {
var meteo1 = new Meteorito(100, 14, 'Luna');
alert('La definicón de meteorito es: '+Meteorito.definicionSegunDiccionario);
Meteorito.obtenerRadio(100);
Meteorito.obtenerTemperatura(14);
}
</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>
</body>
</html>


Aunque esto no era lo que pedía el ejercicio, podemos darle un giro para asociar el valor de una propiedad a cada instancia haciendo uso de un método estático como en este código:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
 
function Meteorito (diametro, temperaturaGC, nombre) {
this.diametro=diametro;
this.temperaturaGF=Meteorito.obtenerTemperaturaGF(temperaturaGC);
this.nombre=nombre;
}
 
Meteorito.definicionSegunDiccionario = 'Fragmento de un bólido que cae sobre la Tierra'; //Propiedad estática
Meteorito.obtenerRadio = function (diametro) {
radio=(diametro)/2;
alert('El radio es: '+radio);} //Método estático

Meteorito.obtenerTemperaturaGF= function(temperaturaGC){
return (temperaturaGC)*1.8+32;
}

function ejemploObjetos() {
var meteo1 = new Meteorito(100, 14, 'Luna');
alert('La definicón de meteorito es: '+Meteorito.definicionSegunDiccionario);
Meteorito.obtenerRadio(100);
alert('La temperatura en grados Farenheit es la siguiente : '+meteo1.temperaturaGF);
}
</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>
</body>
</html>

Saludos

885
Hola Rosa, para el apartado a) la respuesta que yo le daría es la siguiente:

La sintaxis de tipo array aparece en la línea return operaciones[operacion](x, y);

En este caso no podemos usar la notación de punto por lo que se indica en la propia entrega CU01146E:

Citar
¿Para qué es útil el acceso a propiedades con la sintaxis tipo array?

Algunos programadores la usan porque les gusta, pero hay casos en que es la única forma de acceder a una propiedad. Supón que el nombre de una propiedad lo establece el usuario (o se crea dinámicamente de alguna manera) introduciendo un dato que almacenas en una variable denominada nombrePropiedad. En este caso no es posible acceder a la propiedad con la sintaxis nombreObjeto.nombrePropiedad, pero sí será posible acceder con la sintaxis nombreObjeto[nombrePropiedad].

Se puede realizar esta prueba:

var calcular = function(x, y, operacion){
alert ('Tenemos: '+ operaciones[operacion] + ' y sin embargo '+operaciones.operacion+'')
return operaciones[operacion](x, y); }

El resultado que se obtiene es:

Tenemos: function (x,y){ return x + y } y sin embargo undefined

Esto nos indica que operaciones[operacion] nos devuelve algo (una función que requiere dos parámetros) mientras que operaciones.operacion no nos devuelve nada, en este caso no es posible el acceso a la propiedad con esta notación

Por tanto no resulta viable el reemplazo de la notación tipo array por notación basada en punto

Saludos

887
Hola ronal recomendarte que mejores la forma de nombrar las clases, como es explicado en https://www.aprenderaprogramar.com/foros/index.php?topic=3035.msg13698#msg13698

Saludos

888
Hola pedro

Para el apartado a) confirmamos el resultado de otro hilo

Citar
div1: 250 px interior + 45 px relleno derecha + 60 px relleno izquierda + 10 px borde derecho + 40 px borde izquierdo

TOTAL div 1:  405 px (añadiendo el margin tendríamos 445 px)

Por tanto correcto

El apartado b) como indicas depende del tamaño de letra, del número de líneas, etc.

La pregunta c)

Citar
La pregunta c) si por cada caja hemos de sumar 20 px por la izquierda y 20 px por la derecha me salen 405+405 +40 +40 = 890 px

¿La diferencia puede estar en que no hayas considerado incluidos los margin más a la izquierda y más a la derecha?

Saludos

889
Hola, veo que te has animado con la propuesta que te hice y además lo has hecho perfectamente. El objetivo era ver cómo un método get o set normalmente debe operar directamente el atributo (en este caso de tipo MarcaDeVehiculo), aunque podamos tener otros get y set que operen de forma auxiliar con otros formatos como String. Igualmente comprobar cómo operar estos métodos. Poco más que comentar, perfectamente resuelto por tu parte

Saludos


890
Hola Arturo

El apartado a) está correcto

El apartado b) está correcto

En el apartado c) se muestra 1, esto es correcto porque 1 equivale a true y 0 equivale a false

El d) también está correcto. Para que no haya problemas con las palabras con tildes se puede poner como primera línea del archivo <meta charset="utf-8" />, de esta forma se muestra todo correcto

Saludos

891
Hola Refer, si tienes el texto en líneas y no quieres que se guarde una línea igual a una existente, antes de escribir en el fichero tendrás que leer todas las líneas y comprobar si alguna de ellas es igual a la que se pretende escribir. En caso de que sea igual mostrar un mensaje de aviso indicando que ese texto ya existe en el fichero, y en caso de que no exista proceder a guardarlo.

En este hilo puedes ver cómo leer línea a lína un fichero: www.aprenderaprogramar.com/foros/index.php?topic=1154

Y en este ver un ejemplo de lectura y escritura en ficheros: https://www.aprenderaprogramar.com/foros/index.php?topic=712

Para comparar el contenido de líneas tendrás que usar un método como equals aplicado sobre Strings, tendrás que hacer pruebas pues puede verse influido por los caracteres de salto de línea y retorno de carro.

Explicación de equals en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Saludos

892
Hola Campillo, el ejercicio está correcto

Te planteo un pequeño reto para que si tienes ganas lo resuelvas (sería una ampliación del ejercicio que puede resultar útil para ver cómo enfocar problemas de programación)


1. Cambia el nombre del método getMarca y ponle getMarcaString

2. Crea un método getMarca que devuelva un objeto de tipo MarcaDeVehiculo

3. Cambia el nombre del método setMarca(String valor_marca) y ponle setMarcaString(String valor_marca)

4. Crea un método setMarca que reciba un objeto de tipo MarcaDeVehiculo y en base al valor recibido establezca el atributo correspondiente

5. En el main, crea dos objetos de tipo Vehiculo y muestra sus datos. En uno de ellos opera con Strings pidiendo datos al usuario. En otro, opera con valores de MarcaDeVehiculo directamente.

El objetivo de todo esto es ver cómo se puede trabajar sin String usando directamente objetos del tipo enumerado

Saludos

893
Hola María

Tu código resuelve el ejercicio correctamente

Te voy a dar algunas recomendaciones:

- Los nombres de las clases deben comenzar con una letra mayúscula (por convención, no es obligatorio) y describir el fin o cometido de la clase

- Los nombres de los métodos deben comenzar con una letra minúscula (por convención, no es obligatorio) y describir el fin o cometido del método

- Si ves que un código se repite, plantéate si es posible evitar la repetición. En general la repetición de código debe evitarse (tampoco hay que llevar esto al último extremo, pero sí tenerlo en cuenta)

Con esto he hecho algunos cambios en tu código, fíjate en ellos pues estudiarlos te puede resultar útil y deberías tener todo esto en cuenta para los próximos ejercicios

Código: [Seleccionar]
import java.util.Scanner;

public class TestCadenasConA{

    //constructor
    public TestCadenasConA(){
    }

    public static void main(String[] args){

        System.out.println ("Por favor introduzca una cadena por teclado:");
        String entradaTeclado = "";

        Scanner entradaEscaner = new Scanner (System.in);

        entradaTeclado = entradaEscaner.nextLine ();

        System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado +"\"");

        int x=entradaTeclado.length();
        boolean empiezaConA=entradaTeclado.substring(0).startsWith("a")|| entradaTeclado.substring(0).startsWith("A");

        if (x<5){
            System.out.println("La cadena introducida tiene menos de 5 caracteres");

        }else if(5<=x && x<=15){
            System.out.println("La cadena introducida tiene entre 5 y 15 caracteres");

        }else if(x>15){
            System.out.println("La cadena introducida tiene más de 15 caracteres");
        }
        mostrarSiEmpiezaConA(empiezaConA);
    }

    public static void  mostrarSiEmpiezaConA(boolean empiezaConA){
        if (empiezaConA){
            System.out.println("Además comienza por la letra A");
        }else{
            System.out.println("Y no comienza por la letra A");
        }
    }
}

También es útil ver otras respuestas en los foros, por ejemplo www.aprenderaprogramar.com/foros/index.php?topic=2873 y compararlas con tu respuesta para ver cómo lo han hecho otras personas

Saludos

894
Gracias por pegar el código con la solución, como dices le puede servir a otras personas

Saludos

895
A veces pequeñas cosas tontas nos hacen perder mucho tiempo  :D

Saludos

896
Aprender a programar desde cero / Re:href en PHP
« en: 27 de Agosto 2015, 13:21 »
Hola escribe
Código: [Seleccionar]
<? echo 'Test obtenido: '. $row['web']. ' finalizado obtenido'; ?>
¿Qué obtienes por pantalla?

¿A qué te refieres con que antepone tu dominio?

Puede que tengas mal equilibradas las comillas, puedes probar

Código: [Seleccionar]
<b>Web: </b><a href="<?=$row['web']?>" target="_blank"><?=$row['web']?></a><br />
Saludos

897
Hola con ese código parece que puedes hacer lo que necesitas:

 Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
        MyBase.OnKeyPress(e)
        If (e.KeyChar = ChrW(Keys.Enter)) Then
              guardarDatos()
              limpiarTextBoxes()
        End If
    End Sub

Es decir, cuando detectas el evento de pulsación de la tecla Enter invocas un método que guarde los datos y otro método que limpie los TextBoxes. Estos métodos tienes que programarlos.

Estos métodos podrías incluirlos dentro de un condicional que haga alguna validación, por ejemplo que si algún TextBox está vacío no se haga el guardado de datos ni la limpieza de los TextBoxes

Saludos.

899
Hola Alejandro, efectivamente el curso de Java avanzado está incompleto o falto de añadir bastantes temas. Los contenidos que indicas que faltan no han sido creados todavía, y hasta que no lo hagamos el curso como indicas estará cojo.

Ahora mismo no tenemos fecha programada de publicación de entregas ni de terminación, por lo que no podemos concretarte nada.

Sobre sugerencias de ejercicios y continuación para seguir mejorando en formación java, es difícil dado que existen gran cantidad de opciones, desde cursos formales hasta webs. Una referencia son los materiales formativos del sitio oficial de java, de los que puedes encontrar más información aquí: http://docs.oracle.com/javase/tutorial/tutorialLearningPaths.html

Saludos.

900
Aprender a programar desde cero / Re:AYUDA POR FAVOR!
« en: 20 de Agosto 2015, 18:26 »
Hola Carlos Javier, para poner título a los temas y pegar código en los foros lee en este hilo https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 cómo debe hacerse

Debes poner títulos como se indica para poder obtener respuesta y localizar los temas con facilidad

Debes pegar el código como se indica para que otras personas podamos analizarlo

Para evitar que el código te salga mal escrito debes introducir lo que he añadido en el código:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<p>Esto es una prueba de página HTML 4.01 Transitional</p>
<p>Bienvenidos a aprenderaprogramar.com</p>
</body>
</html>

Saludos

Páginas: 1 ... 40 41 42 43 44 [45] 46 47 48 49 50 ... 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".