[RESOLVIDO] Erro com entrada via teclado

Pessoal,

Ao compilar meu código ocorre o seguinte erro:
“cap02ex02.java:14: warning: [deprecation] readLine() in java.io.DataInputStream
has been deprecated
s = dado.readLine();”
O código é o seguinte:

[code]
// Criar uma classe que receba a quantidadde e o valor de 3 produtos no seguinte formato:
// Quantidade 1, valor 1, quantidade 2, valor2, quantidade 3, valor 3:
// Calcular e exibir esse valor na tela, q1 * v1 + q2 * v2 + q3 * v3:
// Exibir o valor total:
import java.io.*;
class cap02ex02 {
public static void main (String args[]) {
float total, q1, v1, q2, v2, q3, v3;
DataInputStream dado;
String s = " ";

	System.out.println("Digite a quantidade de arroz:");
	dado = new DataInputStream(System.in);
	s = dado.readLine();
	q1 = Float.parseFloat(s);
	
	System.out.println("Digite o valor do arroz:");
	dado = new DataInputStream(System.in);
	s = dado.readLine();
	v1 = Float.parseFloat(s);
	
	System.out.println("Digite o quantidade de feijo:");
	dado = new DataInputStream(System.in);
	s = dado.readLine();
	q2 = Float.parseFloat(s);
	
	System.out.println("Digite o valor do feijao:");
	dado = new DataInputStream(System.in);
	s = dado.readLine();
	v2 = Float.parseFloat(s);
	
	System.out.println("Digite a quantidade de sal:");
	dado = new DataInputStream(System.in);
	s = dado.readLine();
	q3 = Float.parseFloat(s);
	
	System.out.println("Digite o valor do sal:");
	dado = new DataInputStream(System.in);
	s = dado.readLine();
	v3 = Float.parseFloat(s);
	
	total = q1*v1 + q2*v2 + q3*v3;
	
	System.out.println("O valor total desses produtos : " + total + ".");
	
	System.exit(0);
}

} [/code]

Tenta assim:

Scanner sc  = new Scanner(System.in);
System.out.println("Digite um número");
double number = Double.parseDouble(sc.next());

System.out.println(number);

Isso não é um erro, é apenas um aviso de que você está usando um método depreciado (que está em desuso).

No caso, não se utiliza mais o readLine() de DataInputStream, mas sim o de Scanner (java.util), os métodos de um BufferedReader (java.io) ou outros.

Tente trocar por Scanner e veja se o aviso desaparece.

Dica: Outra coisa, evite ficar instanciando tantas vezes o objeto, isso é desperdício de memória. Basta instancia uma vez e usar quando quiser:

[code]Scanner entrada = new Scanner(System.in);
System.out.println(“Digite algo:”);
String msg = entrada.readLine();
System.out.println("Você digitou: " + msg);

System.out.println(“Digite outra coisa:”);
msg = entrada.readLine();
System.out.println("Você digitou: " + msg);

…[/code]

Tiburcio e Trebloc,

Muito Obrigado. Funcionou!!!

E vou evitar instanciar várias vezes o mesmo objeto. Valeu pelo toque!

Abs,

Glauco.