Bom dia pessoal!
Tenho tentado com o código abaixo ler caracteres do teclado, mas o console do eclipse não me deixa escrever a entrada… qual é o erro?
InputStream nome = System.in; // deveria ler do teclado não?
InputStreamReader isr = new InputStreamReader(nome);
System.out.println(isr);
Este código exibiu: java.io.InputStreamReader@3e25a5
Help me please!!!
Nao tem um toString() nessa variavel de instancia?
Ou entao, tenta fazer String.valueOf(variavel);
Abraços
Você deve usar os metodos de Scanner.in para fazer a leitura!
Na verdade, só pra esclarecer, o console não permite que eu digite nenhum valor… ele somente exibe este valor maluco, que eu acredito vir do buffer de IO.
Quanto ao uso do Scanner robertol, eu tentei e deu o mesmo problema…
Scanner sc = new Scanner(System.in);
System.out.println(sc);
Por favor, me digam como vcs fazem pra receber uma string do teclado?
Obrigado…
Está faltando chamar os métodos de leitura.
Scanner sc = new Scanner(System.in); //Isso só redireciona a entrada padrão para o Scanner
String linha = sc.nextLine(); //Aqui sim, faz a leitura do teclado
System.out.println(linha); //Imprime o o que foi lido
Não adianta imprimir o scanner. Ele é só a classe que controla a entrada, não o que foi digitado.
O mesmo vale para os InputStreams (embora como vc pode observar, é mais fácil fazer com Scanner):
//Redireciona a entrada padrão para o InputStreamReader
InputStreamReader isr = new InputStreamReader(System.in);
//Associa o InputStream a um BufferedReader
BufferedReader reader = new BufferedReader(isr);
//Lê uma linha da entrada
String linha = reader.readLine();
//Imprime o que leu
System.out.println(linha);
Na verdade, não é problema né? Você está tentando imprimir um objeto Scanner. A classe Scanner tem métodos para leitura de campos no console.
Olhe a documentação desta classe em: http://download.oracle.com/javase/6/docs/api/java/util/Scanner.html
PessoALL,
Valeu mesmo, não tinha conhecimento destes métodos…
Obrigado pela ajuda!
Funcionou nos dois casos, Scanner e InputStreamReader!
[]'s