[RESOLVIDO]duvida sobre switch

6 respostas
wellvsilva

Ola a todos, poderia ver qual o erro, pois to tentando entender a logica para poder fazer o switch possa selecionar o codigo digitado

public class Atividade01 {
    public static void main(String args[]){
       
        String aux = JOptionPane.showInputDialog(null, "Forneça o valor do produto:");
        String aux1 = JOptionPane.showInputDialog(null, "Forneça o codigo do produto:");
        
        if (aux != null){
            try{
                
                double produto = Double.parseDouble(aux1);
                int codigo = Integer.parseInt(aux);
               
               
                switch (codigo){
                    
                    case 1: produto = produto*1.15; break;
                    case 3: produto = produto*1.20; break;
                    case 4: produto = produto*1.35; break;
                    case 8: produto = produto*1.40; break;
                }
                JOptionPane.showMessageDialog(null,"Valor do produto é: " + codigo);
            }
            catch(NumberFormatException erro){
                JOptionPane.showMessageDialog(null, "Digite apenas valores numéricos inteiros!");
            }
        }
        
    }
    
}

6 Respostas

wellvsilva

valeu galera to penando mais to aprendendo eu encontrei o erro, segue abaixo corrigido

public class Atividade01 {
    public static void main(String args[]){
       
        String aux = JOptionPane.showInputDialog(null, "Forneça o valor do produto:");
        String aux1 = JOptionPane.showInputDialog(null, "Forneça o codigo do produto:");
        
        if (aux != null){
            try{
                
                double produto = Double.parseDouble(aux);
                int codigo = Integer.parseInt(aux1);
               
               
                switch (codigo){
                    
                    case 1: produto = produto*1.15; break;
                    case 3: produto = produto*1.20; break;
                    case 4: produto = produto*1.35; break;
                    case 8: produto = produto*1.40; break;
                }
                JOptionPane.showMessageDialog(null,"Valor do produto é: " + produto);
            }
            catch(NumberFormatException erro){
                JOptionPane.showMessageDialog(null, "Digite apenas valores numéricos inteiros!");
            }
        }
        
    }
    
}
D

ok, vi que ja conseguiu sanar o problema intão so umas dicas.

Procure sempre usar variaveis com nomes significativos para facilitar a localização e reciocinio,
como pode ver acabou confundindo o aux com aux1.

uma outra dica, nesse codigo vc tambem poderia ter economizado duas variaveis fazendo da seguinte forma

Double produto= Double.parseDouble( JOptionPane.showInputDialog(null, "Forneça o valor do produto:")); int codigo = Integer.parseInt( JOptionPane.showInputDialog(null, "Forneça o codigo do produto:"));

D

Sempre que finalizar algum topico com êxito edite o nome e coloque [RESOLVIDO]

[]'s

wellvsilva

obrigado denisGermano

valeu pela dica

vc pode me ajudar em outro topico sobre duvida em if da uma olhada neste codigo aki:

public class Atividade2 {
    public static void main(String args []){
        int num1 = 0, num2 = 0, num3 = 0;
        
        JOptionPane.showInputDialog(null, "Digite o primeiro  numero");
        JOptionPane.showInputDialog(null, "Digite o segundo  numero");
        JOptionPane.showInputDialog(null, "Digite o terceiro  numero");
        
        if (num1>num2 && num1>num3){
             JOptionPane.showMessageDialog(null, "Números fornecidos: " + num1+"\n"+num2+"\n"+num3+"Maior número:" + num1);
        }if (num2>num1 && num2>num3){
             JOptionPane.showMessageDialog(null, "Números fornecidos: " + num1+"\n"+num2+"\n"+num3+"Maior número:" + num2);
        }else{
             JOptionPane.showMessageDialog(null, "Números fornecidos: " + num1+"\n"+num2+"\n"+num3+"Maior número:" + num3);
        }
       
       
        
    }
    
    
}

o que to fazendo de errado, pode me ajudar?

D

claro, ja até respondi xD

wellvsilva

obrigado

Criado 17 de fevereiro de 2012
Ultima resposta 17 de fev. de 2012
Respostas 6
Participantes 2