Galera, estou tendo problema com o seguinte código:
[color=red] [/color][color=#444444] [/color]
import java.text.DecimalFormat;
import javax.swing.JOptionPane;
import java.util.*;
public class Exercicio_4 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
DecimalFormat deci = new DecimalFormat("0.00");
String entra_valor = "";
double valor_total = 0, valor = 0;
int contador = 0;
do
{
try
{
entra_valor = JOptionPane.showInputDialog(null, "Digite o preço do produto:\n\n", "Dr. Shop", JOptionPane.PLAIN_MESSAGE);
valor = Double.parseDouble(entra_valor.replace("," , "."));
if ( valor >= 0.001 )
{
valor_total = valor_total + valor;
contador++;
}
if ( valor < 0 )
{
JOptionPane.showMessageDialog(null, "Por favor, digite um valor válido", "Dr. Shop", JOptionPane.PLAIN_MESSAGE);
}
}
catch(NumberFormatException erro)
{
JOptionPane.showMessageDialog(null, "Número inválido", "Dr.", JOptionPane.PLAIN_MESSAGE);
}
}
while(valor != 0);
JOptionPane.showMessageDialog(null, "Quantidade de itens: " + contador + "\n\nValor total da compra: R$ " + deci.format(valor_total), "Dr. Shop", JOptionPane.PLAIN_MESSAGE);
}
}
Se eu começo digitando um número, ele vai de boa, aí posso digitar letra e tudo mais depois que ele se comporta como deveria ser.
Mas se começo digitando uma letra direto, ele já vai mostrando a mensagem final, marcando 0 nas duas variáveis.
Sou bem noob na linguagem, parei nela no técnico e voltei agora com o início da faculdade.
Se alguém puder dar uma força, agradeço.
Valeu !!