elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 [7] 8 9
61  Programación / Java / this y super: ligadura dinamica en: 17 Febrero 2016, 11:11 am
Tengo las siguientes 3 clases:
Código:
public class ClaseA {
public String metodo1(){
return "A";
}
public String metodo2(){
return this.metodo1();
}

}
Código:
public class ClaseB extends ClaseA {
public String metodo1(){
return "B";
}
public String metodo2(){
return this.metodo1() +""
+super.metodo1();
}

}
Código:
public class ClaseC extends ClaseB {
public String metodo1(){
return "C";
}

}
Y aparte también tengo una clase de prueba:
Código:
public class PruebaClase{
public static void main(String[] args) {
ClaseA objetoA1 = new ClaseC();
System.out.println(objetoA1.metodo2());
ClaseA objetoA2 = new ClaseB();
System.out.println(objetoA2.metodo2());
}

}
Esta clase de prueba produce la siguiente salida:
Código:
CA
BA
Pero, ¿Porqué?
En un principio, al ejecutarse el metodo2 de la claseC, utiliza el de la claseB porque lo hereda. Desde el metodo2 de la claseB se utilizan el metodo1 de la misma instancia (al ser una instancia de C se refiere al metodo que retorna una "C") y al metodo1 de la clase superior. Y aqui es donde entra la pregunta: ¿Porqué en este caso el metodo1 de la clase superior se refiere al de la claseA y no al superior de la instancia, que al ser una instancia de la claseC deberia referirse a la claseB?
62  Programación / Bases de Datos / Re: Para que sirven las foreign key en: 6 Febrero 2016, 20:17 pm
Vale, pero... ¿Entonces las foreign key no sirven para consultas?
¿solo sirve para los on delete y on update?
63  Programación / Bases de Datos / Para que sirven las foreign key en: 6 Febrero 2016, 19:41 pm
Cuando hago una consulta en mysql que conlleva el uso de varias tablas utilizo
Código:
SELECT NombrePeliculas, NombreGeneros
FROM Peliculas, Generos
WHERE Peliculas.idGeneros = Generos.idGeneros;
Aunque tambien podria utilizar los JOIN
Código:
SELECT NombrePeliculas JOIN NombreGeneros
ON Peliculas.idGeneros = Generos.idGeneros;
Pero en cualquiera de los dos casos el uso de las foreign key es completamente innecesario, ya que tanto si indico que es una clave ajena como si no, funciona igualmente.
Entonces, ¿Cual es la verdadera escencia de las foreign key?

Sospecho que habrá alguna forma de unir tablas con las foreign key que todavia no he visto, pero por mas que busco en internet no encuentro nada  :(
64  Programación / Java / Re: Retos de java en: 22 Enero 2016, 09:57 am
¿Vosotros sabeis como se almacenan los arrays en C, verdad? Lo que hace con las matrices es guardar un array de una sola dimension en su lugar, y cambiar el modo en que se calculan el contenido de las posiciones: Multiplica el numero de columnas que tiene cada fila y despues le suma la columna indicada.

Teniendo en cuenta esto, aunque se trate de un array simple realmente tambien pasara lo mismo al acceder de esa forma a los elementos de la matriz: Es mas facil multiplicar una vez y sumar varias veces que lo contrario.
Lo que quiero decir es que, incluso aunque los arrays no funcionaran con punteros, seguirian produciendo ese increible retraso de tiempo al cambiar filas por columnas.
65  Programación / Java / Re: Retos de java en: 22 Enero 2016, 08:53 am
Hola, me gusta la idea pero los problemas que propones son muy pocos y no me parecen adecuados, por ejemplo el primer problema no es como para sentarse todo el día y teclear lo que sea para ver si encontramos la solución porque con una búsqueda en Google tienes el problema solucionado y da igual lo que se haga porque no se ganaría mucho que digamos en ambos casos, en cambio un problema del tipo "calcular la suma entre los dígitos del número (1 ^ 34627550862)" sería algo como para ponerse con él todo el día y no buscarlo en Google ya que en ese caso ya no tendría su gracias, y si logramos cumplir con el reto entonces tendríamos algo que sería útil para futuros trabajos.

Debemos ir pensando en otros problemas, algo así como 20 ya sería buena idea, claro que ya depende de la dificultad.

Te enviaré un MP con más problemas y vemos si publicamos otro hilos un poco más formal con más problemas y reglas definidas.
Si con la expresion "1 ^ 34627550862" te refieres a 1 elevado a 34627550862 entonces el resultado es 1, y la suma de sus digitos 1 tambien. De todos modos, si no te referias a eso, no veo el problema en convertir el numero en String y sumar el valor que representa cada caracter. Tambien se puede dividiendo entre 10 y pillando el resto cada vez. Si con retos te refieres a algo como eso, la verdad es que el proposito de este hilo es el de poner problemas lo mas dificiles posibles. Por eso de momento solo hay 4 retos. Tampoco es una tarea facil encontrar un reto muy dificil.
66  Programación / Java / Re: Problema de arrays en: 20 Enero 2016, 00:27 am
Todo eso que me has dicho ya lo savia U,u
El caso es que en cada tutorial que veia me hablaban de una forma de inicializar los arrays asi:
Código:
int[] array = {1,2,3,4,5,6,7,8,9,0};
Sin embargo esta forma solo es valida cuando se inicializa al mismo tiempo que se declara. El caso es que nunca en mi vida vi algo como
Código:
new int[]{1,2,3,4,5,6,7,8,9,0};
ya que lo mas parecido que vi era
Código:
int[] array = {1,2,3,4,5,6,7,8,9,0};
Asi que te pregunto donde has visto eso porque en todos los tutoriales, incluso en el tutorial oficial de oracle, no sale algo como eso. Pero todo lo demas que dijiste ya lo sabia.
67  Programación / Java / Re: Problema de arrays en: 19 Enero 2016, 21:19 pm
¡OSTRAS! ¡PUES NO LO SABIA!
Cuando lo intentaba en lineas diferentes hacia esto:
Código:
int[] i;
i = {1,2,3,4,5,6,7,8,9,0}//Error de compilación
Ahora si entiendo porque preguntabas si tenia una utilidad =D
Lo de la funcion era simplemente para hacer
Código:
int[]{1,2,3,4,5,6,7,8,9,0}
De la unica forma que se me ocurria, es decir, devolviendo el array de los argumentos de la funcion.

¿Por cierto, donde aprendiste eso? he visto muchos tutoriales en internet y en ninguno de ellos lo enseñan =/ De hecho, no sale ni en el tutorial oficial de Oracle:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

De todos modos voy a dar este tema por zanjado, aunque todavia esta pendiente tu respuesta.
68  Programación / Java / Retos de java en: 19 Enero 2016, 20:54 pm
No se si este es el lugar correcto para proponer retos de java, si no es asi le pido a los moderadores que muevan este hilo al sitio correcto.

Reto 1: Adios punto y coma.
¿Serías capaz de programar en java sin utilizar este simpatico caracter para separar sentencias?
EDITO(22/01/2016) Por ejemplo, hacer un algoritmo de ordenamiento sin usar los que ya proporciona java
Nota: es posible.

Reto 2: Perdido entre las dimensiones
¿A que no eres capaz de crear una función que declare un array de N dimensiones? (Es decir, que devuelva un objeto de una clase generica en el que su atributo generico sea del tipo array de N dimensiones)
Si ademas eres capaz de inicializarlo me habrás superado

Reto 3: Recursividad sin recursos
Supongamos el caso de una funcion recursiva. Lo normal es que cuando se llame a si mismo lo haga pasando por parametro un valor diferente. Por ejemplo, el factorial de un numero es ese por el factorial del anterior. Pero ¿Seria posible hacer recursividad si la funcion no tiene parametros por el cual pasarle nuevos valores cuando se llama asi mismo? Claro que si. Solo habria que usar atributos de la clase en la que implementas la funcion, pero ¿Que tal si te digo que no puedes usar esos atributos? ¿Como harias una funcion recursiva entonces? (Reto añadido el 22/01/2016)

Reto 4: Bucles y mas bucles
Si quieres sumar todos los numeros de 1 a N, (Es decir, el sumatorio de los primeros N numeros) haces un bucle. Si quieres sumar todos los sumatorios de 1 a N (Sumatorio de sumatorio, llamemosle sumatorio de grado 2) haces un bucle dentro de un bucle. ¿A que no te atreves a sumar el sumatorio de grado G de los numeros de 1 a N? Existe una formula matematica, pero la idea es hacer N bucles dentro de bucles (Reto añadido el 22/01/2016)

EDITO(22/01/2016):Respecto del problema del punto y coma, me refiero a no utilizarlo en situaciones que normalmente harian falta. Por ejemplo suponte que tengo un array y quiero ordenarlo, pero tuviera que crear el metodo en lugar de usar uno como Arrays.sort ¿Que hariais entonces? ¿A que ya no parece tan sencillo?
De todos modos vosotros tambien podeis sugerir retos en este mismo hilo. Si lo veo edito este mensaje y lo añado por cortesia del que haya sugerido el reto.
69  Programación / Java / Re: Problema de arrays en: 19 Enero 2016, 20:43 pm
Dices que para inicializar un arreglo puedes usar
Código:
int[] i = {1,2,3,4,5,6,7,8,9,0};
Pero, ¿Te has fijado que, por ejemplo, si lo declaras e instancias en distintas lineas de ese modo te da error de compilación?
De todos modos, que no sepas para que pueda servir algo no significa que no sea util. De momento solo quiero saberlo por curiosidad.
Además,(y esto va para el tipo de mas arriba) ya se que puedo hacer un código tal que asi:
Código:
//No se porque los ingleses le llaman "foo" a las funciones que usan de ejemplo
//En los diccionarios de ingles tampoco encuentro nada =/
public <T[]> foo(T ... nums){
    return nums;
}
int[] Arreglo = foo(5,4,4,2,4);
Pero la pregunta es si YA EXISTE un metodo como ese implantado en java para no tener que crearlo una y otra vez cada vez que quiera darle uso
70  Programación / Java / Re: Pequeño problema con JTextArea en: 19 Enero 2016, 14:33 pm
Funciona muy bien, PERO ¿Hay alguna forma de no tener que añadir el scrollpane para que se quede fijo el tamaño? De tal modo que si sobrepasa el tamaño pasa automaticamente a la linea siguiente, como la caja de texto para escribir una respuesta a un hilo en este foro.
Páginas: 1 2 3 4 5 6 [7] 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines