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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 2 3 [4] 5
31  Programación / Java / Problema de arrays en: 19 Enero 2016, 14:28 pm
¿Existe algun metodo equivalente a ... ?
Código:
Arrays.asList(1,2,3,4,5,6,7,8,9,0).toArray()
En otras palabras: ¿Conocen algun metodo que devuelva un array que contenga todos sus argumentos?
Algo como esto:
Código:
public static <T[]> funcionQueDevuelveArray(T... t){
return t;
}
Seria muy practico, asi que tendria que haberlo digo yo.
32  Programación / Java / Malditas clases internas en: 19 Enero 2016, 12:13 pm
Tengo el siguiente codigo:
Código:
class ClaseExterna{
class ClaseInternaNoEstatica{}
static class ClaseInternaEstatica{}
}
Para crear un objeto de la ClaseExterna hago lo siguiente:
Código:
ClaseExterna obj = new ClaseExterna();
Despues si quiero crear un objeto de la ClaseInternaNoEstatica hago lo siguiente:
Código:
ClaseExterna.ClaseInternaNoEstatica obj2 = obj.new ClaseInternaNoEstatica();
Consecuentemente tambien puedo crear un objeto de la ClaseInternaNoEstatica de la siguiente forma:
Código:
ClaseExterna.ClaseInternaNoEstatica obj2 = new ClaseExterna().new ClaseInternaNoEstatica();
Ahora bien, si la clase interna es estatica, y al ser interna se considera un miembro del mismo al igual que sus atributos y métodos, entonces no debería de haber problema si creo un objeto de esa clase interna de la siguiente forma:
Código:
ClaseExterna.ClaseInternaEstatica obj = ClaseExterna.new ClaseInterna();//Error de compilación
Sin embargo da error. ¿Por qué? ¿Por qué para crear un objeto debe ser, sin embargo, de la siguiente forma?
Código:
ClaseExterna.ClaseInternaEstatica obj = new ClaseExterna.ClaseInternaEstatica();

Otra duda: cuando implemento una clase interna (tanto si es estatica como si no, da lo mismo) y trato de acceder a un atributo privado del mismo desde la clase externa no da error. ¿Por qué?

Código:
class ClaseExterna{
class ClaseInterna{private int atributoInterno = 7;}
int atributoExterno = new ClaseInterna().interna;//No da error de compilación
}
De echo, el error solo me lo da cuando trato de acceder a ese atributo privado desde fuera de la clase externa.
Entiendo que la clase interna pueda acceder a los miembros de la clase externa aunque sean privados, pero no entiendo por qué se puede hacer también lo contrario.
33  Programación / Java / Pequeño problema con JTextArea en: 12 Enero 2016, 21:49 pm
Código
  1. import javax.swing.*;
  2. import java.awt.*;
  3.  
  4. public class Test {
  5.  
  6. public static void main(String[] args) {
  7. JFrame ventana = new JFrame();
  8. ventana.setLayout(new FlowLayout(FlowLayout.LEFT));
  9. ventana.add(new JTextArea(5,5));
  10. ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11. ventana.pack();
  12. ventana.setVisible(true);
  13. }
  14.  
  15. }
Cuando me pongo a escribir frases largas en una misma linea cambia de tamaño el area de texto, pero quiero que se quede fijo (al menos, horizontalmente) y no se cómo hacerlo.
34  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Como puedo insertar una imagen en mi ordenador? en: 8 Diciembre 2015, 02:23 am
Para insertar una imagen solo tengo que utilizar
Código:
[img]http://biomodel.uah.es/model3/ejemplo.gif[/img]
Y entonces sale la imagen:

¿Pero cómo puedo hacerlo cuando la imagen está en mi ordenador?
Y de paso, ¿Cómo puedo cambiar el tamaño de la imagen? Se ve bastante grande...
35  Foros Generales / Sugerencias y dudas sobre el Foro / Comentar como usuario anonimo en: 8 Diciembre 2015, 02:05 am
Y que los asuntos que se crean también se puedan hacer de forma anónima.
¿Se puede hacer?
De lo contrario no seria mala idea poder hacerlo.
Total, ya que no podemos eliminar nuestros asuntos y respuestas publicados sin tener que pedírselo a los moderadores...
36  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Como puedo contactar con los moderadores del foro? en: 8 Diciembre 2015, 01:44 am
Realmente no estoy interesado en contactar, pero la única manera que se me ocurre por el momento es enviar un email directamente (si es que sabes cuales son sus correos) o ponerte a buscar un mensaje que haya hecho algún moderador en el que además quede claro que es moderador para poder hacer click en el boton de "Mensaje personal" para contactar directamente si está conectado o "Email" para averiguar cuál es.

Si eres moderador y no quieres que se sepa tu correo, no te pido que lo pongas, sino simplemente poner en alguna parte un botón para mostrar los moderadores que hay.
37  Foros Generales / Sugerencias y dudas sobre el Foro / Enviar asuntos: Codificaciones y codigo html en: 8 Diciembre 2015, 01:21 am
Una sugerencia y una peticion:
  • Sugerencia: Que se nos permita usar codigo html para poder personalizar mas los mensajes (aunque francamente, no se si es posible hacerlo).
  • Peticion: Que se nos brinde la posibilidad de elegir la codificacion de caracteres que vamos a usar cuando insertemos código para poder escribir vocales con tilde, entre otras cosas.
Así es como se ve la letra ' á ' en codigo Java:
Código
  1. á :'(

Edito (8/12/2015 2:06):
En lugar de la letra ' á ', en el código me sale &#225;
Esto solo ocurre en modo previsualización, tal y como dice engel lex.
38  Programación / Java / ¿Como puedo implementar una funcion recursiva en una expresion lambda de Java? en: 8 Diciembre 2015, 01:00 am
Código
  1. //La interfaz funcional
  2.  
  3. package test;
  4.  
  5. public interface Interface {
  6.  
  7. int factorial(int x);
  8.  
  9. }
Código
  1. //La clase que utiliza la expresion lambda
  2.  
  3. package test;
  4.  
  5. public class Test {
  6.  
  7. public static void main(String... args){
  8. ((Interface) x -> x == 1 ? 1 : x*factorial(x-1)).factorial(7); //No compila (busca la funcion en la clase Test).
  9. ((Interface) x -> x == 1 ? 1 : x*this.factorial(x-1)).factorial(7); //No compila (el puntero this apunta a un objeto de la clase Test).
  10. }
  11.  
  12. }
39  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Como puedo eliminar un post? en: 22 Noviembre 2015, 03:36 am
He creado varios post planteando dudas, pero ahora quiero eliminarlas y no se como. Hay un boton X que puede servir para eliminar el post o el comentario dentro del post, pero no hace nada. ¿Alguna sugerencia?
40  Programación / Java / Problema dificil de arrays en: 20 Noviembre 2015, 14:43 pm
El problema que me he propuesto a mi mismo consiste en crear un array de n dimensiones en tiempo de ejecucion.
(cuidado, no confundir con array de longitud n. Si las dimensiones son 2 es una matriz, de 3 una matriz tridimensional, etc.)
Al principio parece imposible, pero se me ocurrió que si utilizo clases genéricas puedo hacer un array de una dimension más tal y como muestra el ssiguiente código:
Código
  1. package test;
  2.  
  3. public class ClaseGenerica<T> {
  4.  
  5. ClaseGenerica<T[]> t;
  6. T u;
  7.  
  8. Test2<?> u = new Test2<Integer>();
  9. for(int i = 0; i < 10; i++){
  10. u.t = new Test2<>();
  11. u = u.t;
  12. }
  13. public static void main(String... args){
  14.  
  15. ClaseGenerica<Integer> t = new Test2<>();
  16. t.t = new ClaseGenerica<>();
  17. t.t.t = new ClaseGenerica<>();
  18. t.t.t.t = new ClaseGenerica<>();
  19. t.t.t.t.t = new ClaseGenerica<>();
  20. t.t.t.t.t.t = new ClaseGenerica<>();
  21. t.t.t.t.t.t.t = new ClaseGenerica<>();
  22. t.t.t.t.t.t.t.t = new ClaseGenerica<>();
  23. t.t.t.t.t.t.t.t.t = new ClaseGenerica<>();
  24. t.t.t.t.t.t.t.t.t.t = new ClaseGenerica<>();
  25. t.t.t.t.t.t.t.t.t.t.t = new ClaseGenerica<>();
  26. //En total el array tiene 10 dimensiones, no se molesten en contarlos
  27. t.t.t.t.t.t.t.t.t.t.t.u = new Integer[0][][][][][][][][][]; //No da error de compilación
  28. //Como pueden ver, no he necesitado declarar un array de N dimensiones, solo instanciarlo
  29.  
  30. }
  31.  
  32. }

Es un poco evidente que esto se puede hacer tambien con un bucle for y el operador '?' tal y como muestro a continuación, pero el problema viene después al querer instanciar ese array, que es lo que me gustaria a mi saber.

Código
  1. package test;
  2.  
  3. public class ClaseGenerica<T> {
  4.  
  5. ClaseGenerica<T[]> t;
  6. T u;
  7.  
  8. public static void main(String... args){
  9.  
  10. ClaseGenerica<?> t = new ClaseGenerica<Integer>();
  11. for(int i = 0; i < 10; i++){
  12. t.t = new ClaseGenerica<>();
  13. t = t.t;
  14. }
  15. t.u = new Integer[0][][][][][][][][][]; //Obviamente, error de compilación
  16. }
  17.  
  18. }
¿Alguna idea de como solventar este problema? No es que tenga mucha utilidad práctica, pero es por curiosidad
Páginas: 1 2 3 [4] 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines