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.
public class Deck
{
public Card[]deck;
public int c, i;
//Método constructor
public Deck()
{
deck = new Card [Card.Suits.length*Card.Values.length];
c = 0;
//Rellenar los huecos del array
for(int s: Card.Suits)
{
for(int v: Card.Values)
{
deck[c] = new Card(v,s);
c++;
}
}
}
public boolean areCardsLeftToDeal()
{
if (c<Card.Suits.length*Card.Values.length)
return true;
else
return false;
}
public Card dealCard()
{
this.robada = this.deck.remove(0);
return this.robada;
public void shuffle()
{
for ( int i = 51; i > 0; i-- )
{
int rand = (int)(Math.random()*(i+1));
Card n = deck[i];
deck[i] = deck[rand];
deck[rand] = n;
}
}
}
}
Sería más fácil si pusieras el error/errores y línea/líneas exactas en que dan.
Se bueno.
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"
Soy novato en java, pero no será porque no has cerrado con corchetes el método dealCard?
public class Deck
{
public Card[]deck;
public int c, i;
//Método constructor
public Deck()
{
deck = new Card [Card.Suits.length*Card.Values.length];
c = 0;
//Rellenar los huecos del array
for(int s: Card.Suits)
{
for(int v: Card.Values)
{
deck[c] = new Card(v,s);
c++;
}
}
}
public boolean areCardsLeftToDeal()
{
if (c<Card.Suits.length*Card.Values.length)
return true;
else
return false;
}
public Card dealCard()
{
this.robada = this.deck.remove(0);
return this.robada;
public void shuffle()
{
for ( int i = 51; i > 0; i-- )
{
int rand = (int)(Math.random()*(i+1));
Card n = deck[i];
deck[i] = deck[rand];
deck[rand] = n;
}
}
}
}
Como te señala ~ Yoya ~ , te falta cerrar la llave en el método anterior public Card dealCard()
Se bueno.
En efecto, ese es un fallo. Aun así me sigue dando problemas de compilación...
Otro error? El Mismo?
Men no repitas el mismo ciclo del principio, si dices que hay un error, mostrar el error.
Saludos.