To Aprendendo Java Ainda e Por isso Fazendo Muito Exercícios, Nesse em Particular, ele tá dando erro de unreachable statement, qnd eu tenho mutiplicar um int com um Double, dêem uma olhada ae,.:
import javax.swing.*;
import java.text.DecimalFormat;
public class Exercicio05 {
public static void main(String args[]) {
String input,texto = "ProdutotTotal das Vendasn";
int produto,quantidade;
double valor,total;
JTextArea ta = new JTextArea(10,10);
JScrollPane sp = new JScrollPane(ta);
do {
input = JOptionPane.showInputDialog("Digite o Produto Vendido.:n-1 para Sair Do Programa","1 a 5");
if(Integer.parseInt(input) == -1)
break;
produto = Integer.parseInt(input);
input = JOptionPane.showInputDialog("Digite a quantidade vendida desse Produto.:n-1 para Sair Do Programa","em Reais(R$)");
if(Integer.parseInt(input) == -1)
break;
quantidade = Integer.parseInt(input);
switch(produto) {
case 1: valor = 2.98;
case 2: valor = 4.50;
case 3: valor = 9.98;
case 4: valor = 4.49;
case 5: valor = 6.87;
default: JOptionPane.showMessageDialog(null,"Valor Digitado Incorreto Por Favor tente Novamente","Valor Incorreto", JOptionPane.ERROR_MESSAGE);
continue;
}
total = (double)quantidade * valor; // ERRO AKI !!! :-Y
texto += produto + "t" + total +"n";
} while(Integer.parseInt(input) != -1);
ta.setText(texto);
JOptionPane.showMessageDialog(null,texto,"Resultado",JOptionPane.PLAIN_MESSAGE);
}
}
Unreachable statement , Erro Chato!
V
2 Respostas
J
Na verdade o erro está no seu <b>switch.</b> Ele nunca vai parar de executar. Isso porque, no fim de <b>case</b> vc deve colocar um <b>break</b> para que o proximo case não seja executado. Do jeito que está, independendo do valor de produto ele vai executar o <b>default</b> o qual contem um continue.
Dessa maneira, qualquer coisa abaixo do <b>continue</b> não será executada. Por isso estava dando unreachable statement.
Tente fazer o seu switch assim:
switch(produto) {
case 1: valor = 2.98; break;
case 2: valor = 4.50; break;
case 3: valor = 9.98; break;
case 4: valor = 4.49; break;
case 5: valor = 6.87; break;
default: JOptionPane.showMessageDialog(null,"Valor Digitado Incorreto Por Favor tente Novamente","Valor Incorreto", JOptionPane.ERROR_MESSAGE);
continue;
}
V
Valew Vei, nem tinha visto, é a falta de experiência na linguagem. :-]
Criado 21 de março de 2003
Ultima resposta 21 de mar. de 2003
Respostas 2
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo