illegal start of expression

Re: illegal start of expression

por Vinícius Daros -
Número de respostas: 0
Olá, Renato

Esse trecho que você mostrou está um tanto quanto problemático.
Vou tentar lhe ajudar a reestruturar-lo.

1- Primeiramente, atente-se aos "{" e "}".
Tudo que estiver entre chaves é considerado um bloco de comandos.
No código mostrado, você abriu chaves para iniciar a classe. Isso está correto. Mas você abriu chaves novamente sem nenhum motivo.

2- Em seguida, veja que você tentou instanciar o objeto "gerador" fora de qualquer método. Não é possível fazer isso. Fora de métodos, apenas declaramos parâmetros da classe.

3- Não entendi sua intenção em trocar as variáveis.

4- Mais à frente, você declarou o método iniciaJogo, mas esqueceu de abrir chaves para indicar o bloco de comandos desse método.

5- A sintaxe do System.out.println é:
System.out.println("texto1 " + var1 + " texto2 " + var2 + " " + var3);
Onde texto1 e texto2 são as mensagens que você quer escrever na tela e var1, var2 e var3 são as variáveis cujos valores quer-se exibir. Para o exemplo acima, para var1 = 1, var2 = 2 e var3 = 3, tem-se o seguinte resultado:
> texto1 1 texto2 2 3

Uma reformulação do seu código seria:

class Truco
{
/* Declaração de parâmetros de classe. */
int carta1j;
int carta2j;
int carta3j;
int carta1pc;
int carta2pc;
int carta3pc;

/* Método que inicia a partida. */
void iniciaJogo() {
/* Gerador de números aleatórios. */
java.util.Random gerador = new java.util.Random();

/* Atribuição de valores aleatórios aos parâmetros da classe. */
carta1j = gerador.nextInt( 10 ) + 1;
carta2j = gerador.nextInt( 10 ) + 1;
carta3j = gerador.nextInt( 10 ) + 1;
carta1pc = gerador.nextInt( 10 ) + 1;
carta2pc = gerador.nextInt( 10 ) + 1;
carta3pc = gerador.nextInt( 10 ) + 1;

/* Imprime cartas sorteadas. */
System.out.println ("Suas cartas sao" + carta1j + ", " + carta2j + ", " + carta3j);
}
}

Isso é só um exemplo do esquema que o programa deve se basear. Veja as diferenças linha a linha e tente entender.
Consulte também a apostila, pois existe um monte de exemplos lá.

Se as dúvidas persistirem, converse com seu professor e/ou vá à monitoria.

Abraço,

Vinícius