Problemas de compilación con clase java

Iniciado por Bus_19, 24 Marzo 2013, 21:30 PM

0 Miembros y 1 Visitante están viendo este tema.

Bus_19

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 (java) [Seleccionar]
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;
}
   

}


}

}

Chuidiang

Sería más fácil si pusieras el error/errores y línea/líneas exactas en que dan.

Se bueno.

Bus_19

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"

mccoy

Soy novato en java, pero no será porque no has cerrado con corchetes el método dealCard?

~ Yoya ~

Código (java,41,43,44,45) [Seleccionar]
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;
}


}


}

}
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Chuidiang

Como te señala ~ Yoya ~ , te falta cerrar la llave en el método anterior    public Card dealCard()

Se bueno.

Bus_19

En efecto, ese es un fallo. Aun así me sigue dando problemas de compilación...

mccoy


~ Yoya ~

Men no repitas el mismo ciclo del principio, si dices que hay un error, mostrar el error.

Saludos.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.