[color=green] Olá amigos,[/color]
[color=red][i]Comecei a estudar Java recentemente e queria saber qual o comando utilizado para ler dados do teclado.[/i][/color]
[i][color=blue] Quem puder me esclarecer, fico muito grato.[/color][/i]
[color=green] Olá amigos,[/color]
[color=red][i]Comecei a estudar Java recentemente e queria saber qual o comando utilizado para ler dados do teclado.[/i][/color]
[i][color=blue] Quem puder me esclarecer, fico muito grato.[/color][/i]
Classe Scanner.
De uma lida no javadoc, e surgindo duvidas, poste novamente.
http://download.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html
Att
Scanner se você for trabalhar sem interface…
JOptionPane se você quiser trabalhar com interface (janelinhas de dialogo)
abraços
Para usar Scanner primeiro você importa:
import java.util.Scanner;
Agora, dentro do programa você cria o objeto que permite receber dados (Vamos chamá-lo de entrada):
Scanner entrada= new Scanner(Systen.in);
Agora peça o valor ao usuário
System.out.print("Digite um número");
Agora crie uma variável para receber o valor e receba-o:
int x= entrada.nextInt();
Pronto! Se fosse um float- nextFloat(), se fosse boolean-nextBoolean(), …, String -next();
Melhor do que usar nextInt(), nextDouble etc é sempre usar nextLine() e fazer a conversão da forma mais adequada, com as classes.
Scanner sc = new Scanner(System.in);
int idade = Integer.parseInt(sc.nextLine());
float salario = Float.parseFloat(sc.nextLine());
obs: não usei IDE para escrever o código acima, mas a ideia e essa.
Melhor do que usar nextInt(), nextDouble etc é sempre usar nextLine() e fazer a conversão da forma mais adequada, com as classes.
[…]
Melhor do que usar nextInt(), nextDouble etc é sempre usar nextLine() e fazer a conversão da forma mais adequada, com as classes.
[…]
Porque?
public class Classe {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Digite sua idade: ");
int suaIdade = sc.nextInt();
System.out.print("Digite seu nome: ");
String nome = sc.nextLine();
System.out.println("Você conseguiu digitar o nome? ;-)");
}
}
O nextInt tem o mesmo problema do scanf do C, vc tem que dar flush no buffer sempre que ler um int, double, float, boolean etc
Com o nextLine, isso não acontece.
public class Classe {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Digite sua idade: ");
int suaIdade = Integer.parseInt(sc.nextLine());
System.out.print("Digite seu nome: ");
String nome = sc.nextLine();
System.out.println("Você conseguiu digitar o nome? ;-)");
}
}
Já existem vários posts no GUJ falando disso, da uma procurada! 
O nextLine() lê a linha inteira e você poderá usá-lo bem quando for manipular arquivos. Posteriormente você vai ver que pode mudar o fluxo de entrada do Scanner para ler de um arquivo.