[RESOLVIDO]Imprimir menor valor

7 respostas
R
import javax.swing.JOptionPane;


public class questao1 {

	public static void main(String[] args) {
				
		int soma;
		int media;
		int produto;		
		int valor1 = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o primeiro valor"));
		int valor2 = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o segundo valor"));
		int valor3 = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite o terceiro valor"));
		
			soma = valor1 + valor2 + valor3;
			produto = valor1 * valor2 * valor3;
			media = (valor1 + valor2 + valor3) / 3;
				
			JOptionPane.showMessageDialog(null,"A soma dos valores é:"+" " + soma);	
			JOptionPane.showMessageDialog(null,"O produto dos valores é:"+" " + produto);
			JOptionPane.showMessageDialog(null,"A media dos valores é:"+" " + valor1);
			
					if(valor1 >= valor2 && valor1 >= valor3){
						JOptionPane.showMessageDialog(null,"O maior valor é:"+" " + valor1);
					
					}else if (valor2 >= valor1 && valor2 >= valor3){
						JOptionPane.showMessageDialog(null,"O maior valor é:"+" " + valor2);
					
					}else if (valor3 >= valor1 && valor3 >= valor3){
						JOptionPane.showMessageDialog(null,"O maior valor é:"+" " + valor3);
					}else if(valor1 <= valor2 && valor1 <= valor3){
						JOptionPane.showMessageDialog(null,"O menor valor é:"+" " + valor1);
					
					}else if (valor2 <= valor1 && valor2 <= valor3){
						JOptionPane.showMessageDialog(null,"O menor valor é:"+" " + valor2);
					
					}else if (valor3 <= valor1 && valor3 <= valor3){
						JOptionPane.showMessageDialog(null,"O menor valor é:"+" " + valor3);	
					}
		
		
		
	
	
	
	}

}

Como faço para imprimir o menor valor? o maior valor está saindo só o menor valor que não sai, como faço?

7 Respostas

A

Olá amigo,

Você poderia reformular a estrutura do seus if's da seguinte forma:

if(valor1 >= valor2 && valor1 >= valor3){  
                        JOptionPane.showMessageDialog(null,"O maior valor é:"+" " + valor1);  
                      
                    }else if (valor2 >= valor1 && valor2 >= valor3){  
                        JOptionPane.showMessageDialog(null,"O maior valor é:"+" " + valor2);  
                      
                    }else{  
                        JOptionPane.showMessageDialog(null,"O maior valor é:"+" " + valor3);  
                    }
                    
                    if(valor1 <= valor2 && valor1 <= valor3){  
                        JOptionPane.showMessageDialog(null,"O menor valor é:"+" " + valor1);  
                      
                    }else if (valor2 <= valor1 && valor2 <= valor3){  
                        JOptionPane.showMessageDialog(null,"O menor valor é:"+" " + valor2);  
                      
                    }else{  
                        JOptionPane.showMessageDialog(null,"O menor valor é:"+" " + valor3);      
                    }

Você poderia aprimorar o seu código da seguinte forma também:

int max = Math.max(valor1, Math.max(valor2,valor3));
int min = Math.min(valor1, Math.min(valor2,valor3));

JOptionPane.showMessageDialog(null,"O maior valor é:"+" " + max);
JOptionPane.showMessageDialog(null,"O menor valor é:"+" " + min);

Abraços.

R

Obrigado andrielc pela ajuda, deu certo.

R
RLeonardo:
import javax.swing.JOptionPane;


public class questao1 {

	public static void main(String[] args) {
				
		int soma;
		int media;
		int produto;		
		int valor1 = Integer.parseInt(JOptionPane.showInputDialog(null,&quot;Digite o primeiro valor&quot;));
		int valor2 = Integer.parseInt(JOptionPane.showInputDialog(null,&quot;Digite o segundo valor&quot;));
		int valor3 = Integer.parseInt(JOptionPane.showInputDialog(null,&quot;Digite o terceiro valor&quot;));
		
			soma = valor1 + valor2 + valor3;
			produto = valor1 * valor2 * valor3;
			media = (valor1 + valor2 + valor3) / 3;
				
			JOptionPane.showMessageDialog(null,&quot;A soma dos valores é:&quot;+&quot; &quot; + soma);	
			JOptionPane.showMessageDialog(null,&quot;O produto dos valores é:&quot;+&quot; &quot; + produto);
			JOptionPane.showMessageDialog(null,&quot;A media dos valores é:&quot;+&quot; &quot; + valor1);
			
					if(valor1 &gt;= valor2 && valor1 &gt;= valor3){
						JOptionPane.showMessageDialog(null,&quot;O maior valor é:&quot;+&quot; &quot; + valor1);
					
					}else if (valor2 &gt;= valor1 && valor2 &gt;= valor3){
						JOptionPane.showMessageDialog(null,&quot;O maior valor é:&quot;+&quot; &quot; + valor2);
					
					}else if (valor3 &gt;= valor1 && valor3 &gt;= valor3){
						JOptionPane.showMessageDialog(null,&quot;O maior valor é:&quot;+&quot; &quot; + valor3);
					}else if(valor1 &lt;= valor2 && valor1 &lt;= valor3){
						JOptionPane.showMessageDialog(null,&quot;O menor valor é:&quot;+&quot; &quot; + valor1);
					
					}else if (valor2 &lt;= valor1 && valor2 &lt;= valor3){
						JOptionPane.showMessageDialog(null,&quot;O menor valor é:&quot;+&quot; &quot; + valor2);
					
					}else if (valor3 &lt;= valor1 && valor3 &lt;= valor3){
						JOptionPane.showMessageDialog(null,&quot;O menor valor é:&quot;+&quot; &quot; + valor3);	
					}
		
		
		
	
	
	
	}

}

Como faço para imprimir o menor valor? o maior valor está saindo só o menor valor que não sai, como faço?

R

adrielc, você poderia me explicar essa linha, por favor.

A

Qual linha, meu caro?

R
int max = Math.max(valor1, Math.max(valor2,valor3));
A

Math é uma biblioteca matemática do Java e max, é o método evocado que retorna qual número é o maior entre dois.

No caso evoquei o método da classe 2 vezes.

Math.max(num1, Math.max(num2,num3))

O segundo método, isto é, Math.max(num2,num3), retorna qual é o maior valor entre num2 e num3; ele executa a mesma coisa da sua estrutura if, mostrei pra você apenas para deixar o código mais simplificado.

O primeiro método, Math.max(num1,respMetodoMax), retorna qual é o valor entre o num1 e o resultado do método 2.

Ficou claro?

Qualquer coisa, me envie MP para não estender o post.

Abraços.

Criado 25 de fevereiro de 2015
Ultima resposta 25 de fev. de 2015
Respostas 7
Participantes 2