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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 37
141  Programación / Java / Creación de Sudokus en: 12 Agosto 2011, 19:58 pm
Hola, escribo este tema para saber si alguien tiene algún tipo de documentación, o algún código, o lo que sea sobre creación de sudokus, y con creación me refiero a creación de sudokus con distintos niveles de complejidad y, a ser posible, con solución única.

He estado buscando un buen rato por Google y lo más convincente que he encontrado estaba escrito en ActionScript y la verdad es algo que nunca he visto y el código es algo tedioso de leer.

El motivo es simplemente que quiero realizar un Sudoku en Java con su interfaz gráfica y, por supuesto, su parte para resolver los puzzles.

Si alguien tiene algún tipo de información y quiere compartirla, se lo agradeceré mucho.

Saludos y gracias de antemano.
142  Programación / Programación General / Re: Buscar en un fichero cadenas de caracteres y reemplazarlas en otro. en: 11 Agosto 2011, 19:57 pm
La última versión del programa puede descargarse desde aquí: https://sites.google.com/site/valkyrone/sustitucionCadenasFinal.jar?attredirects=0&d=1

El programa viene con un fichero explicativo. Por si a alguien pudiera interesarle.

Saludos.
143  Programación / Java / Re: Puerto Paralelo Java en: 11 Agosto 2011, 19:41 pm
Creo que sería mejor que lo realizases en C o C++, porque en Java creo que tendrías que hacer uso de la interfaz nativa (JNI) y ejecutar alguna .dll o algo por el estilo.

Lo siento por no poder ayudarte en más.

Saludos.
144  Programación / Java / Re: Problema con JButton y ordenación en: 11 Agosto 2011, 19:39 pm
¿Cuál es el fallo que te da exactamente? Yo lo he compilado y ejecutado con Eclipse y no me ha dado ningún fallo.

Sí, el año pasado tuvimos Pascal y C++, este año hemos tenido C++, Java y C. No damos clases sobre el lenguaje en sí, si no de programación (salvo Java que si lo hemos visto a fondo en la asignatura de POO) y luego en las clases de prácticas es donde ya vemos las caracteristicas fundamentales del lenguaje. Pero vamos, siempre he pensado que la documentación de un lenguaje siempre va a estar ahí, la cuestión es saber usarlo xD.

La verdad que es mucho dinero el de un piso, yo este año he estado viviendo en uno y...se han ido muchas muchas perras jajaja.
145  Programación / Java / Re: Problema con JButton y ordenación en: 11 Agosto 2011, 15:54 pm
Valkyr, estoy consiguiendo más decente con lo que me has pasado, pero esta parte del código no me compila y no tengo ni idea de porque es xDD
Código
  1. //Este metodo es para especificar que hacer al pulsar la X de la ventana
  2.                addWindowListener(new WindowAdapter() {
  3. public void windowClosing(WindowEvent e) {
  4. dispose();
  5. System.exit(0);
  6. }
  7. });

Acabo de mirar el proyecto que tengo y lo tengo exactamente igual, así que lo único que se me ocurre es que no has importado estos dos paquetes:

Código
  1. import java.awt.event.WindowAdapter;
  2. import java.awt.event.WindowEvent;

Compruébalo, y si no es ese el problema pues me dices!! ;)

Citar
PD: Valkyr, acabo de darme cuenta de que somos paisanos!! xDD

Jajaja cierto, no estamos muy lejos!! Poca gente he encontrado por aquí que sea de la región xD.

Por cierto, yo acabo de terminar 2º año de la carrera y a penas hemos visto cosas de interfaz gráfica de ventanas, pero por Internet está todo muy bien explicado y con Java la mayoría de cosas son bastante sencillicas.

Saludos y ya nos comentas!
146  Programación / Java / Re: Problema con JButton y ordenación en: 9 Agosto 2011, 20:23 pm
Perdóname porque tan solo he leído el principio del código y he pensado en responderte algo que espero que te ayude.

Si quieres crear una ventana yo haría lo siguiente:

Heredaría de la clase JFrame, y pondría como atributos las tres labels y los tres fields, además del JButton. Es decir, sería algo así:

Código
  1. public class MiVentana extends JFrame {
  2.  
  3.        private JLabel label1;
  4. private JLabel label2;
  5. private JLabel label3;
  6. private JTextField campo1;
  7. private JTextField campo2;
  8. private JTextField campo3;
  9. private JButton botonCalculos;
  10.  
  11. public MiVentana(String tituloVentana){
  12.                super();
  13.                setTitle(tituloVentana);
  14.                getContentPane().setLayout(null);
  15. setResizable(false); //False indica que el usuario no puede cambiar el tamaño de la ventana, true indica que si puede cambiarlo
  16. label1 = new JLabel("Capital Inicial");
  17. label2 = new JLabel("Tipo de interés");
  18. label3 = new JLabel("Año");
  19.  
  20. campo1 = new JTextField(30);
  21. campo2 = new JTextField(30);
  22. campo3 = new JTextField(40);
  23.  
  24. botonCalculos = new JButton("Generar cuadro");
  25.  
  26. botonCalculos.addActionListener(new ActionListener(){
  27. public void actionPerformed(ActionEvent arg0) {
  28. //Mostrar Informacion en otro JFrame o en un JDialog
  29. }
  30.  
  31. });
  32.                //Este metodo es para especificar que hacer al pulsar la X de la ventana
  33.                addWindowListener(new WindowAdapter() {
  34. public void windowClosing(WindowEvent e) {
  35. dispose();
  36. System.exit(0);
  37. }
  38. });
  39. //Los valores de X, Y, WIDTH, HEIGHT los especificas para colocar los elementos en la posicion que desees de tu ventana
  40. getContentPane().add(label1);
  41. label1.setBounds(x, y, width, height);
  42. getContentPane().add(label2);
  43. label2.setBounds(x, y, width, height);
  44. getContentPane().add(label3);
  45. label3.setBounds(x, y, width, height);
  46. getContentPane().add(campo1);
  47. campo1.setBounds(x, y, width, height);
  48. getContentPane().add(campo2);
  49. campo2.setBounds(x, y, width, height);
  50. getContentPane().add(campo3);
  51. campo3.setBounds(x, y, width, height);
  52. getContentPane().add(botonCalculos);
  53. botonCalculos.setBounds(x, y, width, height);
  54.  
  55.                //Desde aqui hasta el final es para que la ventana aparezca centrada en la pantalla y para mostrarla
  56. pack();
  57. java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
  58.                //El metodo siguiente cambia el tamaño de la ventana
  59. setSize(new java.awt.Dimension(540, 280));
  60. setLocation((screenSize.width - 540) / 2, (screenSize.height - 280) / 2);
  61. setVisible(true);
  62. }
  63. }

En este código estamos creando una ventana personalizada.

En la acción que debes realizar al pulsar el botón (he puesto un comentario indicando donde es) podrías o crear un JFrame nuevo, añadir los elementos que quieras mostrar o crear un JDialog y mostrar la información.

Me imagino que habrá muchas mas formas de realizar lo que tú quieres y que la forma que te propongo no será la mejor. Pero yo es una de las formas que he usado y me ha ido bastante bien.

Cualquier duda pregunta ;)

Saludos.
147  Programación / Programación General / Re: Algoritmo en: 8 Agosto 2011, 15:26 pm
¿Una idea diferente? sí es un método que ya está creado de forma teórica e implementado en varios lenguajes además de en pseudocódigo, no te pueden dar una idea diferente, ya que la idea en sí es esa.

Saludos.
148  Programación / Java / Re: arreglos de cadenas en: 4 Agosto 2011, 13:52 pm
Sí lo vas a hacer con arrays de cadenas no sería complicado.

Tú tienes ahora mismo los métodos que preguntan al usuario la información, luego en el método main tan solo debes ir llamandolos y ya está.

Yo quizás en lugar de hacer un método para cada cosa lo habría hecho todo en el mismo main ya que así no tendría que estar declarando constantemente un nuevo BufferedReader, o lo pasaría como parámetro.

Podrías hacer algo así:

Código
  1. public static String nomcliente (BufferedReader en, int numero)throws IOException{
  2.    String nombre;
  3.    System.out.println("Introduzca el nombre y primer apellido del cliente numero " + numero + ":");
  4.    System.out.flush();
  5.    nombre=en.readLine();
  6.    return nombre;
  7. }
  8.  
  9. public static String fechaingreso (BufferedReader en, int numero)throws IOException{
  10.    String fi;
  11.    System.out.println("Introduzca la fecha de ingreso del cliente numero " + numero + ":");
  12.    System.out.flush();
  13.    fi=en.readLine();
  14.    return fi;
  15. }
  16.  
  17. public static String fecharetiro (BufferedReader en, int numero)throws IOException{
  18.    String fr;
  19.    System.out.println("Introduzca la fecha de retiro del cliente numero " + numero + ":");
  20.    System.out.flush();
  21.    fr=en.readLine();
  22.    return fr;
  23. }
  24.  
  25. public static String tiphab (BufferedReader en, int numero)throws IOException{
  26.    String hab;
  27.    System.out.println("Introduzca el tipo de habitacion numero " + numero + ":");
  28.    System.out.flush();
  29.    hab=en.readLine();
  30.    return hab;
  31. }
  32.  
  33. public static void main(String[] args){
  34.    //Declaramos el buffer de lectura para leer de teclado
  35.  
  36.    //Declaramos los arrays que contendran la informacion introducida por el usuario
  37.    String[] clientes = new String[10];
  38.    String[] ingreso = new String[10];
  39.    String[] retiro = new String[10];
  40.    String[] tipoHabitacion = new String[10];
  41.  
  42.    //Insertamos en los arrays la informacion devuelta por los metodos
  43.    for(int i = 0; i<10; i++){
  44.        clientes[i] = nomcliente(br, i+1); //Aqui ponemos i+1 para que muestre el primer cliente con numero 1 en     lugar de 0
  45.        ingreso[i] = fechaingreso(br, i+1);
  46.        retiro[i] = fecharetiro(br, i+1);
  47.        tipoHabitacion[i] = tiphab(br, i+1);
  48.    }
  49.  
  50.    //Ahora si quieres puedes recorrer de nuevo los arrays y mostrar la informacion:
  51.  
  52.    for(int i = 0; i<10; i++){
  53.        System.out.println("Cliente: " + clientes[i]);
  54.        System.out.println("Fecha ingreos: " + ingreso[i]);
  55.        System.out.println("Fecha retiro: " + retiro[i]);
  56.        System.out.println("Tipo habitacion: " + tipoHabitacion[i]);
  57.        System.out.println(); //Para que deje una linea en blanco entre cada uno.
  58.    }
  59. }

Saludos.
149  Programación / Java / Re: Creando una subclase de Point en: 1 Agosto 2011, 21:39 pm
La herencia en java sirve para la reutilización de código entre otras cosas, y aunque en tu caso no sean demasiadas lineas de código, o demasiadas funcionalidades, la herencia viene estupendamente. Además, es un buen hábito el desarrollar las clases empleando el código de otras que ya están programadas, por varios motivos, entre ellos, que te ahorras mucho trabajo, y si detectas un error tan solo debes corregirlo en sitios muy puntuales.

Como tú dices, si no heredases de Point podrías declarar los tres atributos y asignarles valores tal y como dices, aunque heredando también puedes declarar tres atributos con el mismo nombre que los que hay en la clase padre y manipularlos, pero estarías duplicando atributos, lo cual no es que sea muy bueno.

Yo dejaría el código como está, heredando de Point, así si alguna vez quisieses añadir alguna funcionalidad para la clase Punto la tendrías también en la clase Point3D.

Saludos.
150  Programación / Java / Re: Creando una subclase de Point en: 1 Agosto 2011, 12:51 pm
Lo de super(x, y) se tiene que usar a la fuerza porque estás heredando de la clase Point, y los atributos de esa clase deben ser inicializados con el constructor de esa clase, ya que tú en tu clase Punto3D no puedes acceder de forma directa a esos atributos. Es decir, tú no podrías hacer lo siguiente:

Código
  1. public Punto3D(int x, int y, int z){
  2. this.x = x;
  3. this.y = y;
  4. this.z = z;
  5. }

El compilador te daría error, ya que estás intentando acceder a atributos que no están declarados en tu clase, si no que han sido heredados.

Por el mismo motivo en el método move debes hacer una llamada a super.move(x, y) porque si no, no podrías cambiar el valor de esos atributos.

Saludos.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ... 37
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines