Ir ao conteúdo

Programa em java para saber 2 maiores valores


kleytinho_s

Posts recomendados

Postado

Ola pessoal, eu fiz um programa em java para saber os 2 maiores valores.

se eu digitar um valor mais baixo depois um valor mais alto ele funciona.

so que seu eu digitar um valor mais alto e depois a mais baixo ele não roda.

o segundo valor mais alto fica com 0..

ai esta si alguém poder me ajudar agradeco muito

import javax.swing.JOptionPane;

public class teste {

public static void main(String[] args) {

int valor = Integer.parseInt(JOptionPane.showInputDialog("digite o valor"));
int maior=0,smaior=0;

while (valor != 0) {

if (valor > maior)
smaior=maior;
maior = valor;


if(valor > smaior && valor < maior) {
smaior = valor;
}

valor = Integer.parseInt(JOptionPane.showInputDialog("digite o valor"));
}
JOptionPane.showMessageDialog(null, "maior: "+maior);
JOptionPane.showMessageDialog(null, "segundo maior: "+smaior);
}
}

Postado

Nao entendi muito o que você quis dizer, mais se for para achar o maior, você pode usar a biblioteca math (java.util.Math)

E usar o comando:

int recebe = Math.max(maior, smaior);

  • 4 semanas depois...
Postado
Ola pessoal, eu fiz um programa em java para saber os 2 maiores valores.

se eu digitar um valor mais baixo depois um valor mais alto ele funciona.

so que seu eu digitar um valor mais alto e depois a mais baixo ele não roda.

o segundo valor mais alto fica com 0..

ai esta si alguém poder me ajudar agradeco muito

import javax.swing.JOptionPane;

public class teste {

public static void main(String[] args) {

int valor = Integer.parseInt(JOptionPane.showInputDialog("digite o valor"));
int maior=0,smaior=0;

while (valor != 0) {

if (valor > maior)
smaior=maior;
maior = valor;


if(valor > smaior && valor < maior) {
smaior = valor;
}

valor = Integer.parseInt(JOptionPane.showInputDialog("digite o valor"));
}
JOptionPane.showMessageDialog(null, "maior: "+maior);
JOptionPane.showMessageDialog(null, "segundo maior: "+smaior);
}
}

Cara havia havia alguns erros de semântica em teu código por exemplo:

while (valor != 0) { // obriga o usuário a digitar o zero para quebrar o loop senão é criado um loop infinito.

O aconselhável é neste cado é colocar um variável para controlar o loop.

Abaixo está seu código modificado e funcionando. analise as mudanças.

import javax.swing.JOptionPane;
public class Maior_menor {

public static void main(String[] args) {
int maior=0,smaior=0,cont=0;

while (cont <= 1 ) {
int valor = Integer.parseInt(JOptionPane.showInputDialog("digite o valor"));

if (valor > maior){
maior = valor;
}
if(valor < smaior || cont == 0) {
smaior = valor;
}
cont++;
}
JOptionPane.showMessageDialog(null, "maior: "+maior);
JOptionPane.showMessageDialog(null, "segundo maior: "+smaior);
}

}

espero ter ajudado.

Falou

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!