:?: Uma dificuldade que encontrei, não consigo obter informações concisas de como ler dados do teclado e armazená-las em uma variável. Gostaria de receber dicas legais. Obrigado!!!
Ler dados a partir do teclado?
11 Respostas
Dica legal:
-
:arrow: Google EN!
-
:arrow: Google PT_BR!
Nao precisa passar da primeira página pra ter códigos de exemplo e explicações. (tem até link pro GUJ)
Talvêz isso te ajude. Citei duas maneiras, um método teclado e outro teclado2 :
Não sei te explicar porque tem que existir o try talvez seja obrigado a tratar o Exception e se eu não quizer tratar a Exception? vai dar erroe daí, mas acho que não deveria estar associado. Tentei tirar o try e não conseguí, a melhor maneira é essa:
static String teclado()
{
byte[] b = new byte[20];
try {
System.in.read(b);
}
catch (IOException e) {
System.err.println(e);
}
String tipostring = new String(b).trim();
return tipostring;
}
static void teclado2() {
try {
BufferedReader ler = new BufferedReader(new InputStreamReader(System.in));
// Le entao a palagra SAIR nao seja digitada
String linha = “”;
while (!linha.equals(“sair”)) {
linha = ler.readLine();
System.out.println("Voce digitou: "+ linha);
}
}
catch (IOException e) {
System.out.println("Erro: "+ e);
}
}
Eu me referia a dicas de pessoas que ja passaram o que eu estou passando. Mas mesmo assim obrigado por me responder.
usa a classe Scanner().
import java.util.Scanner;
...
scanner input = new Scanner(System.in);
int teste = input.nextInt();
Abraço!
Obrigado a todos. Soluções esclarecidas…
Pessoal, aproveitei a “carona” na dúvida do colega em ler dados a partir do teclado. Testei e funcionou conforme o decrito, mas tenho uma dúvida para implementar o seguinte:
- O usuário pressiona uma tecla qualquer;
- Não é necessário exibir na tela ou gravar em arquivo o que ele pressionou;
- Precioso saber qual o código da tecla pressionada (13 = Enter, 32 = Barra de Espaços, etc…);
- Quando tiver este valor, determino que método vai ser executado, pois para cada tecla, existe um método diferente a ser executado;
Alguém aí poderia me dar uma dica de como fazer isso com “mais ou menos” a mesma facilidade que foi exposta aqui neste tópico?
Agradeço qualquer ajuda.
Augusto Cesar
Olha o cara querendo fazer um Keylogger…hehehe
Não, meu amigo, se você deseja maiores informações sobre o projeto que estou trabalhando, por favor visite o site http://appsrv.int.gov.br/sigesc/ e fique sabendo mais sobre acessibilidade para pessoas portadoras de necessidades especiais…!!! (Pessoas que não podem enchergar ou que têm baixa visão…) Este é o projeto em que trabalho.
O objetivo é criar um facilitador (já tenho as classes que gravam o áudio e que também reproduzem - se desejar conhecer o código dos dois, visite http://www.jsresources.orr/examples), onde o professor pode enviar ou mesmo disponibilizar arquivos de áudio com questões/aulas/avaliações, etc…, o aluno recupera estes arquivos de onde ele estiver, depois ele executa esta aplicação, ela dará todas as facilidades que nós “videntes” (o que acho que alguns mesmo com esta Dádiva Divina ainda não conseguem usá-la corretamente…), de “passear” pelas questões, alterar as respostas dadas, voltar a alguma que ele se lembrou depois de ter respondido a enésima…, mas lembre-se: ELE NÃO VÊ NADA NA TELA !!! ENTENDEU AGORA ??? Por isso, estou precisando de colaboradores, não de críticas antecipadas ao que estou tentando fazer para ajudar pessoas que não têm estas facilidades.
Se você puder ajudar, agradeceríamos muito (eu e as pessoas que estão dependendo deste facilitador), ok?
Um abraço,
Augusto Cesar
Se você acha ler do teclado difícil, experimente limpar o console…

Mas eu também recomendaria o uso do Scanner.
Caro augustonunes,
Creio que você já deve ter lido a respeito de tratamento de eventos de teclado. Você provavelmente precisará de um evento de teclado (KeyListener mais precisamente) para implementar o que você quer. A sintaxe seria algo como:
seuComponente.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent evento){
}
}
);
Lembrando apenas que você deverá importar a classe java.awt.event.KeyListener e java.awt.event.KeyEvent
Dê uma boa procurada na API ok? 
[]'s
no java 5 tem uma nova class Scanner.
import.java.util.Scanner;
class Ler{
public static void main(String args[]){
Scanner ler = new Scanner(System.in){
int num = ler.nextInt();
}
}
}
essa eh a sintaxe basica!!