[RESOLVIDO] duvida if

8 respostas
wellvsilva

Bom dia!

alguem pode me ajudar compila mais nao apresenta resultado

obrigado

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

8 Respostas

D
public class Atividade2 {  
        public static void main(String args []){  
            int num1 = 0, num2 = 0, num3 = 0;  
              //Você não atribuiu os valores ás variaveis
            num1 = JOptionPane.showInputDialog(null, "Digite o primeiro  numero");  
            num2 = JOptionPane.showInputDialog(null, "Digite o segundo  numero");  
            num3 = 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);  
            }  
             
             
              
        }  
          
          
    }
wellvsilva

como assim denisGermano

tenho que atribuir valores as variaveis? mas posso captura um valor do teclado?

Fexx
denisGermano:
public class Atividade2 {  
        public static void main(String args []){  
            int num1 = 0, num2 = 0, num3 = 0;  
              //Você não atribuiu os valores ás variaveis
            num1 = JOptionPane.showInputDialog(null, "Digite o primeiro  numero");  
            num2 = JOptionPane.showInputDialog(null, "Digite o segundo  numero");  
            num3 = 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);  
            }  
             
             
              
        }  
          
          
    }
Assim ele gera um erro, pois o JOptionPane, vai retornar uma String. Se for o caso use assim:
public class Atividade2 {  
    public static void main(String args []){  
        int num1 = 0, num2 = 0, num3 = 0;  
        String nume1, nume2, nume3;
          
        nume1 = JOptionPane.showInputDialog(null, "Digite o segundo  numero");  
        nume2 = JOptionPane.showInputDialog(null, "Digite o segundo  numero");  
        nume3 = JOptionPane.showInputDialog(null, "Digite o terceiro  numero");  
        
        num1 = Integer.parseInt(nume1);
        num2 = Integer.parseInt(nume2);
        num3 = Integer.parseInt(nume3);
          
        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);  
        }  
         

    }  
      
      
}
M

Exatamente, você inicializou as variaveis com valor = 0, porem nao disse que o valor digitado no panel é o valor devido de cada variavel, neste momento:

nume1 = JOptionPane.showInputDialog(null, "Digite o segundo  numero");     
        nume2 = JOptionPane.showInputDialog(null, "Digite o segundo  numero");     
        nume3 = JOptionPane.showInputDialog(null, "Digite o terceiro  numero");

Você esta atribuindo o valor informado pelo usuario para cada variavel…não sei se isso é apenas um exercicio e tal, mas você poderia usar um scanner para esse exercicio, é um pouco mais facil pois voce pode dizer que a entrada sera um Int, sendo asssim você evita o parse!

wellvsilva

obrigado a todos pelas dicas

D

Foi mal... havia lido rapido e nao prestei mta atenção.
vou explicar passo a passo:

public class Atividade2{    
    public static void main(String args []){    
        int num1 = 0, num2 = 0, num3 = 0;   // Aqui você declara as variaveis e as atribui valor 0 
                    
        num1 = Integer.parseInt( JOptionPane.showInputDialog(null, "Digite o segundo  numero"));    // aki redefine as 3 variaveis de acordo com a entrada
        num2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o segundo  numero"));    
        num3 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o terceiro  numero"));    
                      
        if (num1>num2 && num1>num3){    // e aqui as compara
             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);    
        }    
           
  
    }

antes voce estava deixando as variaveis todas como 0 poir não havia redefinido

D

nas comparaçoes do if seria melhor vc usar um >= e fazer as 3 possibilidades senão poderá ter situações inesperadas que irá indicar dois resultados verdadeiros no if

wellvsilva

ola ai galera ficou assim:

public class Atividade2 {

    public static void main(String args[]) {
        int num1 = 0, num2 = 0, num3 = 0;
        String nume1 = null, nume2 = null, nume3 = null;


        num1 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o primeiro  numero"));
        num2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o segundo  numero"));
        num3 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite o terceiro  numero"));


        if (num1 > num2 && num1 > num3) {
            JOptionPane.showMessageDialog(null, "Números fornecidos: \n" + num1 + "\n" + num2 + "\n" + num3 +"\n" + "Maior número:" + num1);
        }
        if (num2 > num1 && num2 > num3) {
            JOptionPane.showMessageDialog(null, "Números fornecidos: \n" + num1 + "\n" + num2 + "\n" + num3 +"\n" + "Maior número:" + num2);

        } else {
            JOptionPane.showMessageDialog(null, "Números fornecidos: \n" + num1 + "\n" + num2 + "\n" + num3 +"\n" + "Maior número:" + num3);

        }



    }
}

obrgados a todos usei as dicas que vcs me deram e usei o que o [b]denisGermano[\b] me disse sobre economizar codigo
são alguns exercicio do livro JAVA6 Ensino Didatico autor Sergio Furgeri

Criado 17 de fevereiro de 2012
Ultima resposta 17 de fev. de 2012
Respostas 8
Participantes 4