Ajuda para leitura de variaveis

7 respostas
Anderson_IFBA

[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]

7 Respostas

A

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

d34d_d3v1l

Scanner se você for trabalhar sem interface…

JOptionPane se você quiser trabalhar com interface (janelinhas de dialogo)

abraços

betoven

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();

renamed

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.

drigo.angelo

renamed:
Melhor do que usar nextInt(), nextDouble etc é sempre usar nextLine() e fazer a conversão da forma mais adequada, com as classes.
[…]

Porque?

renamed

drigo.angelo:
renamed:
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! :slight_smile:

betoven

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.

Criado 8 de fevereiro de 2011
Ultima resposta 9 de fev. de 2011
Respostas 7
Participantes 6