Problemas com Console.readString()

2 respostas
ManehX

Boa noite galera;

Estou fazendo um joguinho estilo "blackjack" ou vinte e um, no bom e velho português.
Seguinte, no meu código main(), eu peço para o usuário digitar se quer carta ou não através do Console, mas o erro retornado é:"symbol : method readString()
location: class java.io.Console"

O código é:
package blackjack;
import java.io.Console;


/**
 *
 * @author Alan
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

       Baralho b = new Baralho();
       b.embaralhar();
       int jogador = 0;
       int pontosDoJogador = 0;
       int computador = 0;
       int pontosComputador = 0;
       Carta cartasJogador[] = new Carta[20];
       Carta cartasComputador[] = new Carta[20];
       String resp = "N";
       
       do{
            cartasJogador[jogador++] = b.darCarta();
            System.out.println("\nSuas cartas: ");
            pontosDoJogador = mostraCartas (cartasJogador, jogador);
            System.out.println("Seus pontos =  "+ pontosDoJogador);
            if (pontosDoJogador < 21)
                {
                System.out.println("Quer carta?  (S|N): ");
                resp = Console.readString();
                }//if
       }//do
       while (resp.equals("S")&& pontosDoJogador < 21);

            if(pontosDoJogador > 21)
            {
            System.out.println("Você perdeu!");
            return;
            }
            while (pontosComputador < pontosDoJogador && pontosComputador != 21)
            {
            cartasComputador [computador++] = b.darCarta();
            System.out.println("/nMinas cartas");
            pontosComputador = mostraCartas(cartasComputador, computador);
            System.out.println("Meus pontos = " + pontosComputador);
            }
            if(pontosComputador >= pontosDoJogador && pontosComputador <= 21)
            {
                System.out.print("\nVoceê perdeu!");
            }//if
            else{
               System.out.println("\nVocê ganhou!");
            }
    }

/**
 *
 */
       private static int mostraCartas(Carta mao[], int quant)

       {
            int pontos = 0;
            for(int i = 0; i < quant; i++ )
            {
            System.out.print(" " + mao[i].toString() );
            if(mao[i].getValor() > 10)
                pontos++;
            else
                pontos += mao[i].getValor();
            }//for
            System.out.println();
            return pontos;
       }// mostraCartas()
    }

Não sei onde está o erro, sei que é pífio mas, alguém pode me dar uma luz?

Obrigado.

2 Respostas

ViniGodoy

Para ler uma variável do console, primeiro vc criar um Scanner, associado a entrada padrão:

Scanner in = new Scanner(System.in);

E depois vc usa o seu método nextLine();

String valor = in.nextLine();

ManehX

Obrigado ViniGodoy.

Eu implementei com a Scanner e com JOptionPane. Após ver os dois jeitos, optei pela segunda. Obrigado pela ajuda.

Criado 25 de abril de 2010
Ultima resposta 26 de abr. de 2010
Respostas 2
Participantes 2