Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Bus_19 en 24 Marzo 2013, 21:30 pm



Título: Problemas de compilación con clase java
Publicado por: Bus_19 en 24 Marzo 2013, 21:30 pm
Hola a todos, tengo que hacer un juego de cartas en java y una de las clases es la clase Deck (Baraja), me está dando fallos de compilación pero no se exactamente cuales son, aquí os dejo el código.
Los errores me los da en el metodo shuffle.

Saludos.

Código
  1. public class Deck
  2. {
  3. public Card[]deck;
  4.  
  5. public int c, i;
  6.  
  7.  
  8. //Método constructor
  9.  
  10. public Deck()
  11. {
  12.  
  13. deck = new Card [Card.Suits.length*Card.Values.length];
  14.  
  15. c = 0;
  16.  
  17. //Rellenar los huecos del array
  18.  
  19. for(int s: Card.Suits)
  20. {
  21. for(int v: Card.Values)
  22. {
  23. deck[c] = new Card(v,s);
  24. c++;
  25. }
  26.  
  27. }
  28.  
  29. }
  30.  
  31. public boolean areCardsLeftToDeal()
  32. {
  33. if (c<Card.Suits.length*Card.Values.length)
  34. return true;
  35. else  
  36. return false;
  37. }
  38.  
  39.  
  40. public Card dealCard()
  41. {
  42. this.robada = this.deck.remove(0);
  43. return this.robada;
  44.  
  45. public void shuffle()
  46. {
  47. for ( int i = 51; i > 0; i-- )
  48. {
  49.  
  50. int rand = (int)(Math.random()*(i+1));
  51.  
  52. Card n = deck[i];
  53.  
  54. deck[i] = deck[rand];
  55.  
  56. deck[rand] = n;
  57. }
  58.  
  59.  
  60. }
  61.  
  62.  
  63. }
  64.  
  65. }


Título: Re: Problemas de compilación con clase java
Publicado por: Chuidiang en 24 Marzo 2013, 23:30 pm
Sería más fácil si pusieras el error/errores y línea/líneas exactas en que dan.

Se bueno.


Título: Re: Problemas de compilación con clase java
Publicado por: Bus_19 en 24 Marzo 2013, 23:36 pm
Tienes toda la razón del mundo, perdón.

Según el compilador, los errores están en la línea 46 es decir, en (public void shuffle()) y textualmente me dice "Illegal start of expression"


Título: Re: Problemas de compilación con clase java
Publicado por: mccoy en 25 Marzo 2013, 00:20 am
Soy novato en java, pero no será porque no has cerrado con corchetes el método dealCard?


Título: Re: Problemas de compilación con clase java
Publicado por: ~ Yoya ~ en 25 Marzo 2013, 01:22 am
Código
  1. public class Deck
  2. {
  3. public Card[]deck;
  4.  
  5. public int c, i;
  6.  
  7.  
  8. //Método constructor
  9.  
  10. public Deck()
  11. {
  12.  
  13. deck = new Card [Card.Suits.length*Card.Values.length];
  14.  
  15. c = 0;
  16.  
  17. //Rellenar los huecos del array
  18.  
  19. for(int s: Card.Suits)
  20. {
  21. for(int v: Card.Values)
  22. {
  23. deck[c] = new Card(v,s);
  24. c++;
  25. }
  26.  
  27. }
  28.  
  29. }
  30.  
  31. public boolean areCardsLeftToDeal()
  32. {
  33. if (c<Card.Suits.length*Card.Values.length)
  34. return true;
  35. else  
  36. return false;
  37. }
  38.  
  39.  
  40. public Card dealCard()
  41. {
  42. this.robada = this.deck.remove(0);
  43. return this.robada;
  44.  
  45. public void shuffle()
  46. {
  47. for ( int i = 51; i > 0; i-- )
  48. {
  49.  
  50. int rand = (int)(Math.random()*(i+1));
  51.  
  52. Card n = deck[i];
  53.  
  54. deck[i] = deck[rand];
  55.  
  56. deck[rand] = n;
  57. }
  58.  
  59.  
  60. }
  61.  
  62.  
  63. }
  64.  
  65. }


Título: Re: Problemas de compilación con clase java
Publicado por: Chuidiang en 25 Marzo 2013, 10:50 am
Como te señala ~ Yoya ~ , te falta cerrar la llave en el método anterior    public Card dealCard()

Se bueno.


Título: Re: Problemas de compilación con clase java
Publicado por: Bus_19 en 25 Marzo 2013, 18:22 pm
En efecto, ese es un fallo. Aun así me sigue dando problemas de compilación...


Título: Re: Problemas de compilación con clase java
Publicado por: mccoy en 25 Marzo 2013, 19:14 pm
Otro error? El Mismo?



Título: Re: Problemas de compilación con clase java
Publicado por: ~ Yoya ~ en 26 Marzo 2013, 04:32 am
Men no repitas el mismo ciclo del principio, si dices que hay un error, mostrar el error.

Saludos.