Como verificar vários números (todos até um deles ser 0) e compará-los para ver qual é o maior deles?
Ex:
Entrada: 1 8 6 3 4 5 0
Saída: 8
Os números serão informados todos juntos, separados, um por vez?
Boa tarde… Assim uma forma que você pode fazer é utilizar um array (vetor) para armazenar os valores e utilizar um arrays.sort() para organizar em ordem crescente. Ai basta pegar o ultimo valor do vetor e exibir pois este será o valor maior!
Tem um link aqui que fala sobre esse método:
Agora se você quiser uma lógica simples. Tente ver se esse método lhe é útil.
crie uma variável para receber o numero do usuário exemplo (numero) e uma para guardar o maior valor exemplo (maiorValor). Inicie automaticamente essa variável numero com um valor 1. Faça um laço de repetição while (enquanto) e verifique dentro desse laço com uma estrutura if(se) o valor da variável numero e o valor da variável maior. O laço irá parar automaticamente quando o valor da variável numero for igual a 0. E nos testes condicionais do if, caso o valor do numero seja superior ao valor na variável maior, você guardará ele na maior. SEGUE EXEMPLO DO ALGORITMO.
variáveis:
** numero = 1**
** maior = 0**
enquanto numero != 0 então {
** numero = valor digitado pelo usuário**
** se numero > maior então {**
** maior = numero**
** }**
}
escreva o valor da variavel maior
Espero que tenha ficado claro.!
Esta longe de ser o melhor código, mas é uma ideia: Beleza!!
public class MaiorNumero {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int numeros;
int maior = 0;
System.out.println("Informe os números para saber qual é o maior.");
System.out.println("Para acabar Informe 0");
System.out.print("Informe o número: ");
numeros = input.nextInt();
do{
if(maior<numeros){
maior = numeros;
}
System.out.print("Informe o número: ");
numeros = input.nextInt();
}while(numeros!=0);
JOptionPane.showMessageDialog(null,"o maior número foi: "+maior);
}
Consegui usando a seguinte tecnica:
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int x = 0, maior = 0, y = 1;
x = in.nextInt();
maior = x;
while ((y!=0) && in.hasNext()){
y = in.nextInt();
if (y > maior){
maior = y;
}
}
System.out.print(maior);
}
Muito bom !!
Tinha um exercício para min fazer que era pra ler 5 numeros e dizer qual era maior
o desafio era fazer apenas com extrutura de repetiçao e desisão sem arrays fiz da seguinte forma
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numero = 0;
int maior = 0;
for(int i = 1; i <= 5; i++){
System.out.print("n"+i+": ");
numero = sc.nextInt();
if(numero >= count){
count = numero;
}
}
System.out.println("O maior numero e o "+ maior);
}
O codigo e simples qualquer duvida: gabriellucaslima96@gmail.com
Possui erro de compilação: variavel count
não declarada.
Além do mais, é um erro assumir que o maior número inicial é o 0
, dessa forma, se forem informados números negativos, o resultado estará errado.
Você também estava comparando se o numero digitado é maior ou igual ao maior (count
?), está errado, tem que verificar se é maior.
O ideal é inicializar a variável maior
com o primeiro número digitado e depois ir comparando com os números seguintes.
Veja:
import java.util.Scanner;
public class Programa {
private static final Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int i = 1;
System.out.print("n" + i + ": ");
int numero = sc.nextInt();
int maior = numero;
for (i = 2; i <= 5; i++) {
System.out.print("n" + i + ": ");
numero = sc.nextInt();
if (numero > maior) {
maior = numero;
}
}
System.out.println("O maior numero e o " + maior);
}
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num;
int numeros = 4;
int maior = Integer.MIN_VALUE;
for (int i=0; i<numeros; i ++) {
System.out.println("Digite os números: ");
num = scan.nextInt();
if(num > maior) {
maior = num;
}
}
System.out.println("O maior número digitado é: " + maior);
}
Para verificar vários números e encontrar o maior deles até que um deles seja 0, você pode usar um loop. Aqui está um exemplo em pseudo-código:
maiorNumero = 0
enquanto verdadeiro:
numero = lerNumeroDoUsuario()
se numero == 0:
sairDoLoop
se numero > maiorNumero:
maiorNumero = numero
mostrar(maiorNumero)
Este código lê números do usuário até que seja inserido 0. Ele então compara cada número com o maiorNumero
atual e o atualiza se o novo número for maior. Finalmente, ele mostra o maior número encontrado.