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 - Ogramar

Páginas: 1 ... 53 54 55 56 57 [58] 59 60 61 62 63 ... 100
1141
Hola, he intentado ejecutarlo y me sale el siguiente mensaje de error: SE HA PRODUCIDO UN ERROR AL CONECTAR LA BASE DE DATOS

Creo que se deba a que debo añadir la librería que permite las conexiones a la base de datos Access ¿Qué librería es la que has añadido tú?

Salu2

1142
Hola Lorenzo felicitarte por el gran trabajo.

Dado que el trabajo es muy extenso no voy a tratar de criticar o corregir, sino de plantear preguntas en base a cosas que he visto que me han llamado la atención. Quizás algún detalle permita mejorar el diseño, aunque otras cosas se entenderán cuando se expliquen. De momento solo sobre las siguientes clases (todavía para la versión sin interfaz gráfica):

Sesion: una sesión tiene como atributos una fecha, una película, una sala y un número de butacas disponibles. Inicialmente el número de butacas disponibles será el de la sala. A medida que se hagan reservas, el número de butacas disponibles irá disminuyendo (hasta el límite de 0 entradas disponibles). Si se trataran de retirar más entradas de las que hay disponibles saldrá un mensaje de advertencia. Esta clase implementa la interface Comparable basándose en que dos sesiones serán la misma si coinciden en el tiempo (mismo Date fecha)

Pelicula: una película tiene como atributos de texto un título, director, sinopsis y género. Además dispone de un entero que representa el año en que se produjo la película. La ordenación e igualdad de películas se basan en el título.

Sala: una sala tiene como atributos el número de sala y la capacidad como número de butacas de la sala. Además tiene un listado de sesiones programadas para esa sala.

ListadoSesiones: representa una lista de sesiones

ListaSalas: representa una lista de Salas.


Las dudas que me han surgido son las siguientes.

Dudas 1: en la clase ListadoSesiones usas Collections.sort en varios puntos

Código: [Seleccionar]
    public void imprimirSesion(int numeroSala){ Collections.sort(listaSesiones);
                                                for(Sesion temp : listaSesiones){ if(temp.getNumeroDeSala() == numeroSala){ temp.mostrarInfoSesion();} } }

¿Qué finalidad tiene el Collections.sort? o ¿qué ocurriría si prescindes de él?

Dudas 2: en la clase ListadoSesiones creas una clase interna IteratorSesion

Dado que tienes el atributo listaSesiones = new ArrayList<Sesion>();, ¿no podías haber usado el iterator de ArrayList?

Esto mismo se plantea en la clase ListaSalas

Dudas 3: en la clase ListaSalas defines  public Iterator <Sala> iterator() mientras que en la clase ListadoSesiones usas protected class IteratorSesion implements Iterator <Sesion>

¿Por qué en un sitio usas protected y en otro public?

Dudas 4: en la clase ListaSalas se permite eliminar una sesión de una sala con el método eliminarSesionSala(Date fecha, int numeroSala)

¿No existe el método equivalente para añadir la sesión en esta clase?


Salu2

1143
Hola, había puesto 6 espacios porque era como lo habías indicado tú, pero se puede hacer con el número de espacios que se quiera.

El punto de partida de este planteamiento, a partir del cual debería irse construyendo el código, sería algo como esto:


Clase PalabraMemoria

Código: [Seleccionar]
public class PalabraMemoria {

    private char[] palabra ;
    public PalabraMemoria() {
        palabra = new char[5];
        palabra[0]='H';
        palabra[1]='0';
        palabra[2]='0';
        palabra[3]='0';
        palabra[4]='0';
    }

    public char getCharAtPosition(int index) {
        return palabra[index];
    }
   
    public char[] getPalabra () {return palabra;}
   
    public String toString() {
        String resultado = "";
        for (int i=0; i<palabra.length;i++) {
            resultado = resultado + palabra[i];
        }
        return resultado;
    }
}


Clase SimuladorMemoria

Código: [Seleccionar]
public class SimuladorMemoria {

    private PalabraMemoria[] memoria;

    public SimuladorMemoria()
    {
        memoria = new PalabraMemoria[20];
        for (int i=0; i<memoria.length; i++) {
            memoria[i] = new PalabraMemoria();
        }
    }

   
   
    public String toString() {
        StringBuilder contenidoMemoria = new StringBuilder();
        for (int i=0; i<memoria.length; i++) {
            contenidoMemoria = contenidoMemoria.append(memoria[i]);
        }
        String resultado = contenidoMemoria.toString();
        return resultado;
    }
}


Clase TestMemoria

Código: [Seleccionar]
public class TestMemoria
{

    public static void main (String[] Args) {
        SimuladorMemoria memoriaSimulada = new SimuladorMemoria();
        System.out.println("El contenido inicial de la memoria es "+ memoriaSimulada.toString());
    }
   
}


Salu2

1144
Yo no estoy seguro de si es ese o no el problema, pero ten en cuenta una cosa: si no tienes acceso al archivo no podrás leerlo, de ahí la importancia de si la url da acceso al archivo o genera una redirección. Puedes hacer pruebas con este archivo que también está en una https: https://projecteuler.net/project/resources/p022_names.txt

Si puedes leer ese archivo y no el de dropbox el problema posiblemente esté relacionado con la ruta.

Salu2

1145
Hola, no sé si lo representas en filas por comodidad, pero dime si lo entiendo bien:

¿El arreglo inicialmente tendrá este contenido?

H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H000

Fíjate que acaba en H000 porque H00000 ocupa 6 espacios, por lo que 16*6 = 96 y para rellenar hasta cien añadiríamos cuatro espacios que son H000

¿Si se digita A y 3, luego M y 4, luego T y 2 debería aparecer esto?:


A11100M11110T11000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H000


¿Digitar A y 3, luego M y 4, luego A y 2 estaría prohibido por repetición de A o estaría permitido?


¿Digitar A y un 7 sería una operación prohibida?

Finalmente, supongamos que tenemos esto:

A11100M11110T11000K10000Y11110G11000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H000

¿Si ahora borramos la M nos quedaría así?

A11100H00000T11000K10000Y11110G11000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H000

Y si ahora introducimos P y 3 nos quedaría así?

A11100P11100T11000K10000Y11110G11000H00000H00000H00000H00000H00000H00000H00000H00000H00000H00000H000


Salu2

1146
Hola no sé si tiene que ver pero la ruta que define el archivo en dropbox no permite la descarga directa, sino que lleva a una vista html. Puede que el problema esté en que deba usarse una url directa. Por ejemplo una ruta como esta lleva directo a un archivo txt: https://projecteuler.net/project/resources/p022_names.txt pero al escribir la ruta de dropbox hace una redirección y lleva a una vista en lugar del archivo txt propiamente dicho. A lo mejor el problema viene de ahí y no de que sea htpps ¿?

Salu2

1147
Hola, la lógica la veo bien, el código está bien breve.

Salu2

1148
Hola si te quedan dudas pregúntalas e intentaremos aclararlas  :D

Salu2

1149
Hola Cabanota, ejercicio perfecto  ;). ...en lugar de "Se ha sobreescribido"  :( yo pondría "Se ha sobreescrito" ;)

Salu2

1150
Hola pero no me has respondido a

Citar
Partimos del arreglo memoriatotal [ i ] con índices 0 a 99 y todo relleno de H de modo que tenemos memoriatotal[0]="H", memoriatotal[1]="H", ... memoriatotal[99]="H"

Ahora entro en el programa y me pide Digite Letra del Abecedario: B

Digite la cantidad de veces que se imprimira la Letra: 3

¿Qué es lo que debería hacer el programa?

1151
Hola, para poner código en los foros hazlo como se indica en https://www.aprenderaprogramar.com/foros/index.php?board=1.0

No has indicado con qué lenguaje o versión de lenguaje estás trabajando ¿Puedes explicar con qué estás trabajando?

Salu2

1152
Hola, en joomla puedes crear contenidos sin publicidad pero hay algunas extensiones que sí incluyen un link al desarrollador o algún tipo de publicidad. Depende de la extensión que uses. No todas las extensiones se comportan igual. Hay algunas extensiones gratuitas sin limitaciones y sin publicidad. Otras son gratuitas pero incluyen links a la página de los desarrolladores o publicidad. Otras extensiones son de pago y tienen varios niveles de capacidades según cuánto se pague, por ejemplo versión básica, avanzada y profesional. También se encuentran en internet muchas extensiones de pago hackeadas. No hay una regla para todas las extensiones, depende de la extensión. Salu2

1153
Hola dejo un ejemplo de cómo reemplazar los caracteres ; ) por una imagen con php, espero que sirva

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<?php

$frase= "Hola amigo, ¿cómo estás? ;)";
echo "Antes del cambio la frase es: ".$frase;
echo "<br/>";
echo "Después del cambio la frase es: ";
echo str_replace (";)""<img src='https://www.aprenderaprogramar.com/foros/Smileys/default/smiley.gif' </img>"$frase);
echo "<br/>";

?>

</body>
</html>

Salu2

1154
Hola Cabanota, el apartado a) perfecto.

El apartado b) perfecto.

Para el apartado c) el enunciado pide que la función devuelva el array pero no dice nada de que la función deba recorrer el array ni mostrar su contenido, por ello es preferible no meter ese recorrido dentro de la función. Si es una función debe tener un return, eso es lo que te ha faltado.

El código con ese cambio para que la función obtenerArrNum devuelva un array y que el recorrido se haga fuera de la función quedaría así:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<?php
function escribirTresNumeros($num1$num2$num3)
{
$fp fopen("ficheroBorrar.txt""w");
fputs($fp$num1 "\n" $num2 "\n" $num3 "\n");
fclose($fp);
}

function obtenerSuma($ruta)
{
$resul 0;
$aux 0;
$linea = array();
$fp fopen($ruta"r");

while (!feof($fp)) {
$linea[$aux] = fgets($fp);
$aux++;
}
for ($i=0$i count($linea); $i++) { 
$resul $resul $linea[$i];
}
fclose($fp);
return $resul;
}

function obtenerArrNum($ruta)
{
$array = array();
$cont 0;
$fp fopen($ruta"r");
while (!feof($fp)) {
$array[$cont] = fgets($fp);
$cont++;
}
fclose($fp);
return $array;
}

escribirTresNumeros(2814);
echo "Suma: " obtenerSuma("ficheroBorrar.txt");
echo "<br/>";
$arrayObtenido obtenerArrNum("ficheroBorrar.txt");
echo "<br/>Elementos del array obtenido con la función: </br>";
for ($i=0$i count($arrayObtenido) - 1$i++) { 
echo $arrayObtenido[$i] . ", ";
}

?>

</body>
</html>


Salu2

1155
Hola no comprendo bien lo que hay que hacer.

Partimos del arreglo memoriatotal [ i ] con índices 0 a 99 y todo relleno de H de modo que tenemos memoriatotal[0]="H", memoriatotal[1]="H", ... memoriatotal[99]="H"

Ahora entro en el programa y me pide Digite Letra del Abecedario: B

Digite la cantidad de veces que se imprimira la Letra: 3

¿Qué es lo que debería hacer el programa?

Creo que a lo mejor falta código, no veo el main. Pega el código de las otras clases que tengas para poder ejecutar lo mismo que tengas tú.

Salu2

1156
Hola nani, no tienes bien resuelto el ejercicio.

El programa debería mostrar esto:

Por favor introduzca una palabra:
ave
Letra 1: a
Letra 2: v
Letra 3: e

Pero si ejecuto tu programa me muestra esto:

Por favor introduzca una palabra:
ave
a
av
ave


Deberías corregirlo para que haga lo que pide el ejercicio. Si tienes dudas busca en los foros por el código el ejercicio.

Salu2

1157
Hola, ¿a qué te refieres con descripciones de los artículos? Un artículo en joomla 1.5 consta de un título, un preámbulo o intro_text y un contenido o full_text.

Habría que estudiarlo pero por lo que comentas podría ser que esté ocurriendo lo siguiente (aunque no estoy seguro). A la hora de trabajar con caracteres intervienen distintos elementos: la configuración del navegador, la configuración del servidor, la configuración de la base de datos, el modo de edición utilizado en los archivos, etc. Puede interferir cualquiera de ellos. Una posibilidad es que tengas un juego de caracteres en la base de datos que no admita los caracteres propios del ruso. De este modo si tú escribes algo en ruso, cuando se guarde en la base de datos no te lo guarda bien o te lo guarda vacío si la base de datos no admite esos caracteres. Tendrías que entrar en la base de datos con phpMyAdmin y cambiar el juego de caracteres a un juego que admita el ruso.

Otra opción es hablar con los administradores del hosting y comentarle que estás intentando usar el ruso y que tienes problemas y pedirles que si pueden hacer los cambios necesarios para que puedas trabajar en ruso.

Salu2

1158
Hola, el punto a) lo tienes perfecto, es decir, si se cambia la longitud de la palabra siguen mostrándose siempre cinco asteriscos a derecha e izquierda

El punto b) haz hecho una comparación de cada letra. Podrías completarlo añadiendo si las tres letras (en conjunto) son iguales o no. Abajo te pongo cómo sería el código con este añadido.

El punto c)

La cadena "ApRendEr A proGraMar.cOm" tiene una longitud de 24 caracteres (incluyendo los espacios).

La mitad es 12. Por tanto debería rellenarse con 12 asteriscos a derecha e izquierda. En tu código tienes escrito

$longitud = $aux + ($aux / 2);

De este modo la nueva longitud es 24 más 12 que quedan como 6 asteriscos + 24 caracteres + 6 asteriscos

Para rellenar con 12 asteriscos a derecha e izquierda simplemente usaríamos $longitud = 2*$aux; para el caso de que sea par, de este modo la cadena pasa a tener 48 caracteres y se conforma así: 12 asteriscos + 24 caracteres + 12 asteriscos.


Supongamos que la cadena tenga 25 caracteres. En este caso la mitad resulta 12.50 y usamos entones la mitad de su longitud más uno, es decir la mitad de 26 que es 13. La cadena tiene que quedar con 13 asteriscos a la izquierda + 25 caracteres + 13 asteriscos a la derecha, total de 51 caracteres. Aquí la cadena era de 25 y el relleno en total es de 26.

Para lograr esto usamos $longitud = 2*$aux + 1;

De este modo siempre quedan el mismo número de asteriscos al lado derecho e izquierdo.

El código con estos pequeños cambios queda así:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<?php
$cadena1 "aprender";
$cadena2 "aprende";
$cadena3 "ApRendEr A proGraMar.cOm";

//punto a.
echo str_pad($cadena1, (strlen($cadena1)+10), "*"STR_PAD_BOTH). "<br/>";
echo str_pad($cadena2, (strlen($cadena2)+10), "*"STR_PAD_BOTH). "<br/>";

echo "-----------------------------------------<br/>";

//punto b.
$tresLetrasSonIguales true;
for ($i=0$i 3$i++) { 
$aux1 substr($cadena1$i1);
$aux2 substr($cadena2$i1);
if (strcmp($aux1$aux2) == 0) {
echo "\"" $aux1 "\" es igual a \"" $aux2 "\".<br/>";
}else{
$tresLetrasSonIguales false;
echo "\"" $aux1 "\" es diferente de \"" $aux2 "\".<br/>";
}
}
echo '<br/> Como resultado final podemos decir que las tres letras son: ';
if ($tresLetrasSonIguales == true) { echo 'iguales';} else {echo 'no iguales';}

echo "<br/>-----------------------------------------<br/>";

//punto c.

$tranosformada strtolower($cadena3);
$resul = (strlen($tranosformada) % 2);
$aux strlen($tranosformada);

if ($resul == 0) {
$longitud 2*$aux;
echo "Resul: " str_pad($tranosformada$longitud,"*" STR_PAD_BOTH);

}else{
$longitud 2*$aux 1;
echo "Resul: " str_pad($tranosformada, ($longitud),"*" STR_PAD_BOTH);
}
?>

</body>
</html>

1159
Hola, aquí se comenta cómo se pueden ocultar formularios y mostrar otros https://www.aprenderaprogramar.com/foros/index.php?topic=2723

Una forma de actuar sería nada más arrancar la aplicación hacer que se oculte un formulario y se muestre el otro, de esa forma parecería que estás arrancando el programa con el formulario que se muestra.


Otra opción: tengo un proyecto con un formulario. En el explorador de soluciones pulso sobre la aplicación WindosApplication1 y con botón derecho elegimos agregar, y elegimos Windows Forms, (Windows form en blanco). (Aquí estoy trabajando con .NET Visual Basic 2010).

Ahora ya tenemos dos formularios.

Ahora pulsa en el explorador de soluciones sobre WindowsAppliation1 y con botón derecho elige Propiedades. Ahí en formulario de inicio cambia Form1 por Form2 (o el formulario que tú quieras que sea el formulario de inicio).

Ahora cuando pulses en ejecutar el programa el formulario que se cargará es el form2 (o aquel que hayas señalado).

Salu2

1160
Hola, si pones el código que has usado puede servir de ayuda para otras personas

Salu2

Páginas: 1 ... 53 54 55 56 57 [58] 59 60 61 62 63 ... 100

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