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 ... 45 46 47 48 49 [50] 51 52 53 54 55 ... 93
981
Hola lo ideal sería que todos supiéramos qué ponemos en el código y por qué lo ponemos. Por eso te he recomendado estudiar fundamentos porque ese suele ser el punto en el que falla la mayoría de la gente. En este caso si se entiende para qué se usa la función val se puede ver cuándo tiene sentido usar esta función y cuándo no lo tiene...

Saludos

982
Hola, tener en cuenta (sobre todo para quienes estén siguiendo el curso y se encuentren con este ejercicio) que para resolver este ejercicio no se pide crear un método main, ya que el main se explica más adelante dentro del curso. De hecho, no recomendamos adelantarse con los contenidos del curso para que el aprendizaje sea progresivo y asentar bien los conceptos siguiendo la metodología del curso. Saludos.

983
En relación a la respuesta del apartado 2, no es correcta dado que el enunciado nos dice que ese método se encargará de pedir la duración de todas las canciones y tú solo estás considerando un valor de duración.

El ejercicio sólo pide definir la signatura (cabecera) de los métodos, por tanto no hay que escribir ningún contenido dentro del método.

Revisa esta solución propuesta, creo te servirá de ayuda, https://www.aprenderaprogramar.com/foros/index.php?topic=956

Saludos

984
Hola heripume, es preferible que abras un nuevo tema indicando cuáles son tus respuestas a un ejercicio dado (todas tus respuestas, no sólo un apartado). De esa forma se mantiene más ordenado el foro. Aquí tienes una pequeña guía de cómo escribir en el foro: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Voy a pasarlo a un nuevo post para responderte. Saludos.

986
Hola ronal, hay un detalle que debes tener en cuenta.

Lo que declaras después de public class son atributos de clase:

public class ListaCantantesFamosos {
   
    ArrayList <String> nombreCantantes;
    String shakira = "Shakira", chayane = "Chayane", mark = "Mark", nuevo = "";
    Scanner solicitud;



Eso significa que todos los objetos que se creen con new llevarán esos atributos. Pero tiene poco sentido que todos los objetos tengan como atributo shakira = "shakira"

Por ello será preferible dejar como atributo aquello que es necesario para representar la clase: la clase representa una lista de nombres de cantantes y por ello el único atributo que necesita es ArrayList <String> nombreCantantes;

Los otros valores que has declarado como atributos debes trasladarlos como variables locales de métodos o constructores, de esa forma no aparecen como atributos de clase.

Podríamos escribir esto:

Código: [Seleccionar]
    public ListaCantantesFamosos (){//Metodo constructor
        String shakira = "Shakira", chayane = "Chayane", mark = "Mark",
        nombreCantantes = new ArrayList<>();       
        nombreCantantes.add(mark);
        nombreCantantes.add(shakira);
        nombreCantantes.add(chayane);
    }

Pero es preferible no crear variables sino usar directamente los String si no queremos las variables para otra cosa.

Código: [Seleccionar]
    public ListaCantantesFamosos (){//Metodo constructor
        nombreCantantes = new ArrayList<>();       
        nombreCantantes.add("Mark");
        nombreCantantes.add("Shakira");
        nombreCantantes.add("Chayane");
    }

El caso de solicitud lo resolveríamos así:

Código: [Seleccionar]
    public void ingresarCantantes(){
        Scanner solicitud = new Scanner(System.in);
        nuevo = solicitud.nextLine();
    }

El atributo nuevo también se puede eliminar. Para ello tendrías que hacer la adición del nombre a la lista en el mismo momento en que se recibe el nombre por teclado. Puedes fijarte en este ejercicio resuelto como referencia: https://www.aprenderaprogramar.com/foros/index.php?topic=1549



Saludos

987
Hola, tu código en general está bien.

Hay una cosa que no entiendo ¿Para qué tienes un atributo private String nombreCantante en la clase ListaCantantesFamosos? La clase representa una lista de nombres de cantantes famosos, no se ve lógico que tenga un atributo nombreCantante.


En la clase ListaCantantesFamosos usas esto:

Código: [Seleccionar]
       int i=0;
        for (String nombre: listanombres)
        {
            System.out.println ("Cantante " +(i+1)+": "+nombre);
            i++;
        }

En otros hilos del foro ya se ha comentado que si se usa un for de este tipo normalmente no se usan índices numéricos. En caso de usar índices numéricos es preferible usar un for tradicional.

Hay una cosa que podrías mejorar, te lo planteo como ejercicio. En la clase TestListaCantantesFamosos hay código en cierta medida repetido (para pedir que se introduzca un cantante famoso). La idea sería eliminar la repetición creando un método denominado pedirNombreCantanteFamoso que se encargue de pedir el nombre y devolver un String.

Saludos

988
Hola Blaze, en los foros intentamos ayudar siempre a partir del código que haya sido intentado crear. Para ello debes crear el código y pegarlo como se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Si no tienes base suficiente debes empezar con HTML y luego CSS.

Curso HTML: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=69&Itemid=192

Curso CSS: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=75&Itemid=203

En estos cursos hay ejemplos de código de los distintos elementos HTML y CSS.

Saludos

989
Hola, para intentar ayudarte pega el código de todas las clases que intervienen como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Es importante que el código sea insertado así para que podamos capturarlo y compilarlo otras personas, comprobando así dónde se puede mejorar o corregir. El código debe ir como texto plano, sin cursivas, negritas o cualquier otro formato.

Saludos

990
Hola, parece que tienes varios errores en el código así que voy a tratar de darte una orientación, aquí estamos para aprender  ;). Una ruta o nombre de archivo siempre se maneja como texto. Por tanto no debes usar Dim FileName As Single sino Dim FileName As String.

Tienes que diferenciar entre una variable de tipo texto (alfanumérica) que contiene un número de una variable numérica propiamente dicha. Puedes consultar http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=238:contenido-y-asignacion-de-contenido-a-variables-con-pseudocodigo-tipos-de-variables-basicos-cu00126a&catid=28:curso-bases-programacion-nivel-i&Itemid=59 donde hay una explicación

La otra cuestión a la que debes prestar atención es a cuál es el valor de las variables cuando las invocas.

En este fragmento tienes:

        ruta = "E\mis cosas\IMÁGENES ANTONIO (TRABAJOS)\FM2014\Partidas\Gráficos\Faces\Player\" & FileName & ""
        FileName = Val(TextBox1.Text)

Fíjate que en la primera línea llamas a Filename, pero FileName está vacío porque todavía no ha recibido una asignación.

Esto es un error conceptual. Te recomiendo leer esto para orientarte https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0


También tienes que prestar atención a las rutas. Esta ruta está mal escrita: E\mis cosas\IMÁGENES ANTONIO

Posiblemente la ruta sea E:\mis cosas\IMÁGENES ANTONIO

Si te faltan unos dos puntos o un simple espacio ya no funcionará. Te recomiendo copiar la ruta directamente del explorador de windows.

También te recomiendo introducir mensajes de comprobación, por ejemplo si introduces MsgBox(ruta & " es la ruta") podrás comprobar que no estás generando bien la ruta y a continuación preguntarte ¿por qué no me genera bien la ruta? Y así corregirlo...

Con este código donde se refleja lo anterior yo he conseguido que me funcione introduciendo en el textbox el nombre del fichero, por ejemplo avioneta.jpg

Pero cada cual tendrá que introducir la ruta que esté usando correctamente, la que pone el código es sólo un ejemplo

Código: [Seleccionar]
Public Class Form1
    Dim FileName As String
    Dim ruta As String
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = "Buscador de jugadores"
        Label1.Text = "Introduce la ID del jugador"
        Button1.Text = "Comprobar"
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        FileName = TextBox1.Text
        ruta = "C:\Users\Alex\Imgs\" & FileName & ""

        MsgBox(ruta & " es la ruta")

        If System.IO.File.Exists(ruta) = True Then
            MsgBox("El jugador cuya ID es " & FileName & " SI existe en la carpeta")
        Else
            MsgBox("El jugador cuya ID es " & FileName & " no existe en la carpeta")
        End If

    End Sub
End Class

Saludos

991
Hola blaze, para poder ayudarte es necesario que expliques mejor qué es lo que necesitas y que tú lo hayas intentado previamente, de modo que puedas pegar el código indicando dónde tienes el problema. Aquí hay algunas indiciaciones sobre cómo escribir mensajes en los foros: https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Saludos

992
Hola, el curso se recomienda desarrollarlo paso a paso para un mejor aprendizaje (sin introducir elementos no explicados, por ejemplo aquí estás introduciendo this que todavía no se ha explicado en el curso).

La respuesta no cumple con  lo que pedía el ejercicio. El ejercicio sólo pide definir las signaturas.

Por ejemplo para el apartado "1) Obtener la duración de una canción expresada como un número decimal en minutos (por ejemplo podría ser 3,22 minutos) recibiendo como dato el número de canción dentro del disco."

la respuesta sería:

public double getDuracionCancion (int numeroCancion) { }

Este método es tipo función por devolver un valor.


Fíjate que en tu respuesta falta el parámetro que debe recibir el método.

Te recomiendo que trates de hacerlo por tí mismo, si tienes problemas puedes consultar en www.aprenderaprogramar.com/foros/index.php?topic=956 que sería un ejemplo de solución.

Saludos

993
Hola, busca la propiedad ReadOnly del textbox. Pon esta propiedad con valor true. De este modo, se mantendrán las barras de scroll pero el usuario no podrá modificar el texto. Busca la propiedad ScrollBars y elige por ejemplo Vertical.

Saludos

994
Hola Luis, puedes intentar varias cosas:

a) Abre "Equipo". Haz click con botón derecho en la carpeta C:
Selecciona "Propiedades". Selecciona "Herramientas". Selecciona "Comprobar errores (para comprobar el disco para solucionar errores en el sistema de archivos). Haz click en aceptar. Si te aparece el mensaje "No se puede hacer el chequeo del disco mientras está en uso intente hacerlo en un próximo arranque". Haz click en aceptar y deja que el sistema se reinicie. Comprueba si al reiniciar se ha solucionado el problema.

b) Si el sistema tiene daños múltiples tendrías que buscar un punto de restauración antes de que el sistema se volviera inestable (a través del centro de copias de seguridad y restauración de Windows).

c) Si no puedes recuperar hacerlo con una recuperación total (implica pérdida de datos y programas instalados)

Saludos

995
Aprender a programar desde cero / Re:CU00666B
« en: 10 de Junio 2015, 08:14 »
Hola rubens ya se comenta en otros hilos pero en el fragmento

Código: [Seleccionar]
     public void listar() {
    int i=0;
         for (String nombre:listaDeCantantes) {
             System.out.println("Cantante "+(i+1)+"- "+nombre);
             i++;
         }
     }

Ten en cuenta que un for extendido se suele usar para prescindir de variable contadora como i. Si se quiere una variable contadora es preferible utilizar el for tradicional

Código: [Seleccionar]
for (int i=0; i<listaDeCantantes.size(); i++ {
             System.out.println("Cantante "+(i+1)+"- "+nombre);
             i++;
}

Saludos

996
Hola Jorge, comentarte que dentro de la metodología del curso y con perspectiva didáctica estamos recomendando inicializar siempre los atributos en los constructores a 0, false o null dependiendo del tipo de atributo de que se trate, para hacer la inicialización explícita aún cuando no sea estrictamente necesaria.

También por motivos didácticos los contenidos se tratan progresivamente y aspectos como la sobreescritura de toString() no se tratan en el curso hasta la entrega CU00694B.

Saludos

997
Hola no lo recomiendo (podría dañar el programa) y no le he probado pero para quien quiera investigar he encontrado estas indicaciones sobre cómo manipular BlueJ en relación al código que muestra por defecto o a la posibilidad de crear una nueva opción de creación de clase con otro código de defecto

Citar
Creating a new custom Java class template option in BlueJ

So, I'm in this CS1410 class and we write a lot of simple Java apps, but we always have to have a certain structure to them when handing them in. Well, by default, the "New Class" template had a lot of extra crap so I went in and figured out how to create a new custom class option. Here are the steps I took:

Apple OS X

    Navigate to your BlueJ.app
    ctrl+click on it and choose "Show Package Contents" from the contextual menu.
    Navigate to "Contents/Resources/Java/english/templates/newclass".
    Duplicate the file "stdclass.tmpl" and name it "customclass.tmpl".
    Open this file with a text editor and put in what you want to show up in your new custom class. Note that the variable "$CLASSNAME" will dynamically put in the name of the new class that you type in the dialog box so you may want to keep that in when declaring your class.
    Now, go up two directories to the "english" directory and look for a file called "labels". Open this with a text editor and look for the line "pkgmgr.newClass.stdclass=Class". Create a new line after this line and type the following "pkgmgr.newClass.customclass=Custom Class".
    Save your files, close them up and restart BlueJ. You will notice that when you go to create a new class you will have the option to check "Custom Class" now. Enjoy. :]

Windows XP

    Navigate to where you installed BlueJ (in my case it was C:\BlueJ)
    go into lib\english\templates\newclass
    Duplicate the file "stdclass.tmpl" and name it "customclass.tmpl".
    Open this file with a text editor and put in what you want to show up in your new custom class. Note that the variable "$CLASSNAME" will dynamically put in the name of the new class that you type in the dialog box so you may want to keep that in when declaring your class.
    Now, go up two directories to the "english" directory and look for a file called "labels". Open this with a text editor and look for the line "pkgmgr.newClass.stdclass=Class". Create a new line after this line and type the following "pkgmgr.newClass.customclass=Custom Class".
    Save your files, close them up and restart BlueJ. You will notice that when you go to create a new class you will have the option to check "Custom Class" now. Enjoy. :]

Hopefully this helps some other students. :]

Saludos

998
Hola, más que nada comentar que los tiempos de respuesta nunca deberían tomarse en consideración por una ejecución, ya que pueden estar desvirtuados por la situación puntual del computador. Los tiempos de respuesta considerados deberían idealmente estar medidos bajo ciertas condiciones y ser un valor medio de un conjunto amplio de repeticiones (repito que esto es idealmente).

Saludos

999
Hola ronal.d87, aparte de lo comentado por Dan indicarte que el switch normalmente no se usa cuando tenemos una sola condición a evaluar. Lo más habitual y más cómodo es usar un if cuando tenemos una o dos condiciones. El switch solo se suele usar cuando hay varias condiciones lo que nos obligaría a escribir muchos if. Saludos.

1000
Corregido CU00661B por CU00662B Gracias RaGa!

Páginas: 1 ... 45 46 47 48 49 [50] 51 52 53 54 55 ... 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".