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 ... 20
81
Hola a todos con este código he logrado leer el fichero de texto puesto de ejemplo por Ogramar (he utilizado java 8 ):

Código: [Seleccionar]
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.io.IOException;

public class Ejemplo1{

    public static void main(String[]args){
        System.out.println("Resultado: "+leerFicheroUrl());

        }
   
public static String leerFicheroUrl() {
    String str1="";
    String str2="";
    try {
    // Create a URL for the desired page
    URL url = new URL("https://projecteuler.net/project/resources/p022_names.txt");
 
    // Read all the text returned by the server
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
   
    while ((str1 = in.readLine()) != null) {
        str2 = str2 + str1;
    }
    in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
return str2;
}
   
}

Saludos!  ;D

82
De todo un poco... / Re:Automata pila
« en: 24 de Junio 2015, 23:05 »
Hola Leriu

Mírate este hilo https://www.aprenderaprogramar.com/foros/index.php?topic=638.0

Es posible que ahí tengas la respuesta, o si no está ahí posiblemente haya uno equivalente.

Saludos!

83
Si quieres adjunta el proyecto (en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 se explica cómo adjuntar) para tratar de mirarlo.

Hay una cosa que me extraña. Si tú creas el proyecto desde cero y pones la base de datos en un solo sitio, ¿el propio Visual Studio te crea una copia de la base de datos? Eso resulta raro. Lo más normal sería que fuera un problema de refresco del datagrid por ejemplo, que no refleje los cambios si hay cambios en la base de datos porque necesite un refresco o actualización. Una cosa son los registros que tú ves en el datagrid y otro lo que haya en la base de datos  ::)

Saludos

84
Hola otra vez soleares prácticamente todo bien, veamos lo que hay que corregir

Falta el cierre </html>

Se te ha escapado <li style ="list-style-type: disc">Angela González</li>disc

Si te fijas en la imagen se ve que aparece disc debido a que se te quedó eso en el código me imagino que al copiar y pegar

Saludos cordiales

85
Hola otra vez :) el codigo hace bien los calculos.

Ten en cuenta que los atributos de clase deben definirse como private, no como public.

   public static final double PI = 3.1416;
   public double radio;


También ten en cuenta lo que se comenta en otros hilos del foro sobre que no es recomendable usar eñes ni acentos en el código, por ejemplo has usado eñes en añadirRadio

Y para terminar lo ya comentado antes de que es preferible usar o bien ventanas o bien consola en lugar de las dos cosas mezcladas

Saludos cordiales

86
Hola soleares! El primer ejercicio bien respondido se puede usar tanto name como id y resulta válido.

En el otro ejercicio tienes mal escrito me4ta charset y también tienes mal algunos tags de enlace a por ejemplo <a id="Leones"><h2>Leones</h2> le falta el </a> de cierre aquí en realidad se escribiría <a id="Leones"><h2>Leones</h2></a>

El resto lo veo todo correcto!

Saludos cordiales

87
Hola rubens23! El programa funciona bien. Como consejos de mejora tendriamos los siguientes:

No introducir un System.out.println dentro de un constructor. El constructor se usa para inicializar los campos de la clase.

El bucle do que has planteado se ejecuta siempre al menos una vez, puedes simplificarlo poniendo la condición al principio de modo que si se adivinó el número no se entre al bucle, de esta manera

Código: [Seleccionar]
while ( entr != adv){
if (entr < adv){
System.out.println("No has acertado: el número aleatorio es mayor. \nPrueba otra vez ");
entrada = JOptionPane.showInputDialog ( "Introduzca un número entre 1 y 100:" );
entr = Integer.valueOf(entrada);
}
if (entr >adv){
System.out.println("No has acertado: el número aleatorio es menor. \nPrueba otra vez ");
entrada = JOptionPane.showInputDialog ( "Introduzca un número entre 1 y 100:" );
entr = Integer.valueOf(entrada);
}
}

También me parece que si utilizas ventanas deberías mostrar todos los mensajes usando ventanas, no mezclar la ventana con la consola porque no se sabe muy bien dónde hay que mirar.

Saludos cordiales  :D

88
Hola ronal.d87 veo que en otro hilo en https://www.aprenderaprogramar.com/foros/index.php?topic=2793.0 te han indicado algunas correcciones que deberías aplicar igual a este ejercicio. Saludos!

89
Hola puedes aprovechar los índices del array para hacer los cálculos.

Por ejemplo si el array de notas los creas como Dim Nota(30, 4) As Double

suponiendo que los índices vayan de 1 a 30 y de 1 a 4 (con esto hay que tener cuidado porque los índices suelen empezar en cero pero aquí los dejo como si empezaran en 1 para simplificar)

Nota(6,3) = 7 lo que significaría es que el alumno 6 en la materia 3 sacó como nota un 7.


El promedio general de todos los alumnos en todas las materías se obtendría así:

numeroAlumnos=30
numeroMaterias=4
suma = 0

for i=1 to numeroAlumnos
   for j=1 to numeroMaterias
      suma = suma + Nota(i,j)
   next j
next i

promedio = suma / (numeroAlumnos*numeroMaterias)

Mostrar "El promedio general del curso es " , promedio



El promedio por materia habría que sacarlo así:

sumaMat1 = 0

for i=1 to numeroAlumnos

      sumaMat1 = sumaMat1 + Nota(i,1)
next i

promedioMat1 = sumaMat1 / numeroAlumnos

Mostrar "El promedio en la materia 1 es " , promedioMat1



Esto lo puedes hacer para las cuatro materias, o si prefieres puedes generar un bucle que saque los cuatro promedios:

numeroAlumnos=30
numeroMaterias=4
sumaMat = 0

   for j=1 to numeroMaterias
      for i=1 to numeroAlumnos
      sumaMat = sumaMat + Nota(i,j)
      next i
      promedioMat = sumaMat / (numeroAlumnos)
      Mostrar "El promedio en la materia", j , " es " , promedioMat
      sumaMat = 0
   next j



Para la pregunta c) ya depende de cómo trabajes, si trabajas con registros (record) donde un registro lleva los datos de un alumno o si trabajas con arrays correlacionados. Por ejemplo Dim apellidoAlumno(30) que te diera los apellidos del alumno con el número indicado por el índice.

En este curso tienes ejercicios resueltos bastante parecidos, http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Por ejemplo en "Ejercicios ejemplos resueltos con Desde-Siguiente (for-next) y arrays (arreglos) en pseudocódigo. (CU00154A)" es bastante parecido y otros también

Saludos!

90
Hola prueba lo siguiente: haz click con botón derecho en el TableAdapter en el diseñador de DataSet y haz click en Configurar. Se debe abrir el configurador automático del TableAdapter y ahí podrás reconfigurar el esquema de la tabla y elegir el origen de datos. Otra opción sería crear la conexión del dataset con el origen de datos a través de código en lugar de usando el asistente, de esa forma puedes mantener todo el código bajo control (supongo que lo has hecho con el asistente aunque no he visto el proyecto o el código). Saludos cordiales

91
Hola Jhony, en otros hilos se recomienda leer esto:

https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0

Yo creo que antes de empezar con Visual Basic es bueno saber algoritmia básica.

Saludos

92
Saludos no he logrado ejecutarlo porque aparece un error "no hay conexion con la base de datosmysql_error" pero parece que no estás teniendo en cuenta el ámbito de las variables. Cada llamada a la función genera un nuevo ámbito y la variable $contador parte de cero dentro de la función.

El ambito lo tienes explicado en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=36&Itemid=60 en la entrega CU00205A, pero te recomiendo que leas desde el principio hasta esa entrega por lo menos para entender el ámbito.

Para solucionarlo debes llevar el contador en el bucle while y pasárselo como parámetro a la función. Al recibirlo desde fuera ya la función conocerá el valor del contador.

Saludos!

93
¿A qué lenguaje estás intentando pasarlo? Pega el código que tengas (ver https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)

Saludos!


94
Hola crea una cuenta nueva en google e inténtalo, parece que no te reconociera una dirección email concreta...

95
Aprender a programar desde cero / Re:Dudas con Integer Java
« en: 19 de Mayo 2015, 23:33 »
Hola! Te doy un link donde se explica parseInt y la conversión a String

https://www.aprenderaprogramar.com/foros/index.php?topic=2243.0

También en https://www.aprenderaprogramar.com/foros/index.php?topic=2368.0

;)

96
Hola voy con la respuesta, un palíndromo es una palabra que se lee igual de izquierda a derecha y de derecha a izquierda.

Ejemplo: reconocer es un palíndromo

El algoritmo para determinar si una palabra es un palíndromo puede ser descrito informalmente así: hay que comparar todos los pares de letras comenzando desde los extremos hacia el centro. Si todos los pares son iguales, entonces la palabra sí es un palíndromo. Basta que se encuentre un par de letras correspondientes distintas para que la palabra no sea un palíndromo.

Pseudocódigo:
Código: [Seleccionar]
Inicio
Mostrar 'Ingrese la palabra'
Pedir palabra
i = 1
j = longitud(palabra)
hacer mientras (extraerLetra(palabra, i) = extraerLetra(palabra,j) y i < j) {
        i = i + 1
        j = j - 1
Fin HacerMientras
Si (i >= j) entonces
     Mostrar "La palabra ", palabra, " es palindromo"
Sino
 Mostrar "La palabra ", palabra, " es palindromo"
FinSi
Fin


Ejemplo implementación en java:

Código: [Seleccionar]
public class Palindromo {
    public static void main(String[] args) {
        String[] palabras = {"reconocer","asdfdsa","AsDdSa","Sale El As","No palindromos","Cualquier frase","O palabra","Que no sea palindromo"};
        int indice = (int)(Math.random() * palabras.length);
        System.out.println("Palabra utilizada: "+ palabras[indice]);
        if (palindromo(palabras[indice]))
            System.out.println("Palindromo");
        else
            System.out.println("NO Palindromo");
    }
    static boolean palindromo(String palabra)
    {
        //Quitar espacios y convertirlo a minusculas para hacer las comparaciones
        String modificado = palabra.replaceAll(" ","").toLowerCase();
        int i=0;
        while (i < modificado.length() / 2)
        {
            if (modificado.charAt(i) != modificado.charAt(modificado.length() -1 -i))
                return false;
            i++;
        }
        return true;
    }
}

97
Hola addi, lo tienes explicado en las entregas iniciales de este curso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=36&Itemid=60

Saludos!

98
Hola Alonso tienes esta declaración repetida con lo cual la primera linea es como si no existiera

Código: [Seleccionar]
            Dim stConexion As String = ("Provider=Microsoft.ACE.OLEDB.12.0­;" & ("Data Source=" & (stRuta & ";Extended Properties=""Excel 12.0;Xml;HDR=YES;IMEX=2"";&quo­t;")))
            Dim stConexion As String = ("Provider=Microsoft.Jet.OLEDB.4.0;" & ("Data Source=" & (stRuta & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";")))


Intenta probar este código

Código: [Seleccionar]
Imports System.Data.SqlClient
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim DtSet As System.Data.DataSet
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
        MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\28b - Ejemplo.xlsx';Extended Properties=Excel 8.0;")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
        MyCommand.TableMappings.Add("Table", "aprenderaprogramar.com")
        DtSet = New System.Data.DataSet
        MyCommand.Fill(DtSet)
        DataGridView1.DataSource = DtSet.Tables(0)
        MyConnection.Close()

    End Sub
End Class

saludos!

99
Hola Lorenzo te hablo tanto de lo que me ha gustado como de lo que no me ha gustado, aunque tengo que decirte que me ha gustado más que no gustado.

Ya te lo ha comentado Dan pero en el código de las interfaces

public interface InstalacionDeportiva {
    abstract public String getTipoInstalacion();
}

No debes escribir abstract public porque no hace falta.


El introducir la clase abstracta public abstract class Edificacion no parece mala idea porque favorece el reuso del código, aunque el ejercicio no lo pedía.

Esta forma de bucle creo que no se explica en el curso, pero es una forma de las existentes para crear un bucle.

Código: [Seleccionar]
        for(Iterator iter = lista.iterator(); iter.hasNext();){
            System.out.println(indice.toString()+ "*** " + iter.next().toString());
            indice++;
        }


Estos métodos dentro de GestorDeDatos se ven bien pensados...

Código: [Seleccionar]
public String recogerNombre(){ System.out.println("Introduce el nombre del polideportivo"); return recogerCadena(); }
y además demuestran que sabes bien lo que estás haciendo

En general me ha gustado la clase GestorDeDatos, bien pensada

Y también me ha gustado la clase con el main, breve y se encarga de lo que se debe encargar, de dirigir a las otras clases.

Saludos!!



 8) Distintas formas de bucles y algunas ideas en inglés

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

public class ListIterationExample {

     public static void main(String []args){
        List<Integer> numbers = new ArrayList<Integer>();

        // populates list with initial values
        for (Integer i : Arrays.asList(0,1,2,3,4,5,6,7))
            numbers.add(i);
        printList(numbers);         // 0,1,2,3,4,5,6,7

        // replaces each element with twice its value
        for (int index=0; index < numbers.size(); index++) {
            numbers.set(index, numbers.get(index)*2);
        }
        printList(numbers);         // 0,2,4,6,8,10,12,14

        // does nothing because list is not being changed
        for (Integer number : numbers) {
            number++; // number = new Integer(number+1);
        }
        printList(numbers);         // 0,2,4,6,8,10,12,14 

        // same as above -- just different syntax
        for (Iterator<Integer> iter = numbers.iterator(); iter.hasNext(); ) {
            Integer number = iter.next();
            number++;
        }
        printList(numbers);         // 0,2,4,6,8,10,12,14

        // ListIterator<?> provides an "add" method to insert elements
        // between the current element and the cursor
        for (ListIterator<Integer> iter = numbers.listIterator(); iter.hasNext(); ) {
            Integer number = iter.next();
            iter.add(number+1);     // insert a number right before this
        }
        printList(numbers);         // 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15

        // Iterator<?> provides a "remove" method to delete elements
        // between the current element and the cursor
        for (Iterator<Integer> iter = numbers.iterator(); iter.hasNext(); ) {
            Integer number = iter.next();
            if (number % 2 == 0)    // if number is even
                iter.remove();      // remove it from the collection
        }
        printList(numbers);         // 1,3,5,7,9,11,13,15

        // ListIterator<?> provides a "set" method to replace elements
        for (ListIterator<Integer> iter = numbers.listIterator(); iter.hasNext(); ) {
            Integer number = iter.next();
            iter.set(number/2);     // divide each element by 2
        }
        printList(numbers);         // 0,1,2,3,4,5,6,7
     }

     public static void printList(List<Integer> numbers) {
        StringBuilder sb = new StringBuilder();
        for (Integer number : numbers) {
            sb.append(number);
            sb.append(",");
        }
        sb.deleteCharAt(sb.length()-1); // remove trailing comma
        System.out.println(sb.toString());
     }
}

100
Hola Dan

Cosas a corregir:

Esta línea <a id = "Inicio"><title>Animales de Africa</title></a> no debe ir dentro de <head> ... </head> . Entre estas dos etiquetas solo deben ir ciertas declaraciones, no el contenido propiamente dicho de la página web.

Mal:

<h1 style = "text-align: center; color: red;">Animales de Africa</h2>

Si abres h1 tienes que cerrar h1, no puedes cerrar h2.

El texto "El león, el llamado rey de ..." no está entre etiquetas, es preferible siempre tener el texto entre etiquetas <p> en este ejercicio <p>El león... por ciento </p>

Mal escrito: <a href = #Inicio > debe ser <a href ="#Inicio">, mismo fallo en otros puntos

Otra cosa: en mi navegador no se ven los tooltips al posicionarme sobre los links.

Tienes que cuidar la escritura, aquí no ocurre como con el código compilado que si tienes un error te avisa el compilador, aquí es posible que tengas errores y no los veas aunque pueden generar problemas de ahí que debas intentar no cometerlos.

Saludos :)

Páginas: 1 2 3 4 [5] 6 7 8 9 10 ... 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".