Verificar vários números e ver qual é o maior

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

1 curtida

Os números serão informados todos juntos, separados, um por vez?

1 curtida

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:

Link Interno

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

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

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. :frowning:

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.