Ver Mensaje Individual
  #9 (permalink)  
Antiguo 30/04/2015, 12:16
KRPH
 
Fecha de Ingreso: abril-2015
Mensajes: 6
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Problema java principante

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Siguiendo la misma argumentacion, si Java permite crear arrays... por qué no utilizarlos?

Si un array permite representar perfectamente el objecto deseado y le resulta mas facil de entender a KRPH a su nivel, no veo nada malo en utilizarlo.

Por otro lado, no hemos de olvidar que en Java un array tambien es tecnicamente un objecto, por lo que esto es perfectamente valido hacer:

Código Java:
Ver original
  1. Object o = new int[] { 1,2 };


@KRPH


No, crear un arraylist seria mas bien:
Código Java:
Ver original
  1. List<int[]> fichas= new ArrayList<>();
  2. fichas.add(ficha1);
  3. fichas.add(ficha2);
  4. fichas.add(ficha3);
  5. ....
  6. Collections.suffle(fichas);
  7. ...
  8.  
  9. for (final int[] ficha : fichas) {
  10. // Repartes
  11. }

Si lo quieres hacer creando objetos, como bien indica Malenko

Ficha.java

Código Java:
Ver original
  1. public class Ficha {
  2.     private int num1;
  3.     private int num2;
  4.    
  5.     public Ficha(int num1, int num2) {
  6.         this.num1 = num1;
  7.         this.num2 = num2;
  8.     }
  9.  
  10.     public int getNum1() {
  11.         return num1;
  12.     }
  13.  
  14.     public int getNum2() {
  15.         return num2;
  16.     }    
  17. }


Código Java:
Ver original
  1. ......
  2.  
  3. Ficha ficha1 = new Ficha1(0, 1);
  4. Ficha ficha2 = new Ficha1(1,3);
  5. Ficha ficha3 = new Ficha1(3, 2);
  6. etc etc
  7.  
  8. ......
  9.  
  10. List<Ficha> fichas= new ArrayList<>();
  11. fichas.add(ficha1);
  12. fichas.add(ficha2);
  13. fichas.add(ficha3);
  14. ....
  15. Collections.suffle(fichas);
  16. ...
  17.  
  18. for (final Ficha  ficha : fichas) {
  19. // Repartes
  20. }

Espero que a partir de aqui sepas ya hacerlo.

Un saludo
Muchas gracias por el código, finalmente lo haré mediante objetos. A tu código he añadido esto:

Código:
public String toString() {   // Abre metodo toString
        return "["+num1+"|"+num2+"]";
}
Pero después de poner esta parte:

Código:
    Ficha ficha1 = new Ficha(0, 0);
    Ficha ficha2 = new Ficha(0, 1);
    Ficha ficha3 = new Ficha(0, 2);
    Ficha ficha4 = new Ficha(0, 3);
    Ficha ficha5 = new Ficha(0, 4);
    Ficha ficha6 = new Ficha(0, 5);
    Ficha ficha7 = new Ficha(0, 6);
    Ficha ficha8 = new Ficha(1, 1);
    Ficha ficha9 = new Ficha(1, 2);
    Ficha ficha10 = new Ficha(1, 3);
    Ficha ficha11 = new Ficha(1, 4);
    ....
Al añadir esta parte me sale error

Código:
    List<Ficha> fichas = new ArrayList<>();
    
    fichas.add(ficha1);
    fichas.add(ficha2);
    fichas.add(ficha3);
    ...
Y tampoco me deja añadir la línea del Collections a pesar de haber puesto al inicio el import java.util.*;