Esta trabalhando da forma errada, possivelmente pensou em fazer desta forma pois são apenas 5 números, mas se fossem 500, 1000 ou 2000 como iria resolver seu problema?
Pelo o que estou vendo você deve estar aprendendo a programar e ainda não viu estruturas de repetição no seu curso.
Tenta fazer assim:
int maior, menor;
maior=a;
menor=a;
if (b>maior)
{
maior=b;
}
if(b<menor)
{
menor=b;
}
Repita o codigo acima para C, D e E. Depois ao final imprima o maior e menor.
cara tenta fazer o maximo o possivel retrabalho pq se não seu codigo vira uma bagunça pra isso que serve os metodos
import java.util.Scanner;
public class retornaMaiorEMenor {
static int retornaMaior(int[] vetor){
int maior = vetor[0];
for (int i = 1 ; i < vetor.length; i++){
if (vetor[i] > maior){
maior = vetor[i];
}
}
return(maior);
}
static int retornaMenor(int[] vetor){
int menor = vetor[0];
for (int i = 1 ; i < vetor.length; i++){
if (vetor[i] < menor){
menor = vetor[i];
}
}
return(menor);
}
public static void main(String[] args) {
int[] vetor = new int[4];
Scanner dados = new Scanner(System.in);
for (int i = 0 ; i < 4; i++){
System.out.println("digite o " + (i + 1) + "ª valor: ");
vetor[i] = dados.nextInt();
}
System.out.println("maior valor:" + retornaMaior(vetor));
System.out.println("menor valor:" + retornaMenor(vetor));
}
}
Este é um algoritmo clássico, eu cheguei a usar o mesmo algumas vezes, quando ensinava lógica e java básico.
É interessante ver como as pessoas sentem dificuldade ao implementar algo assim.
Os valores absurdos são chamados de valores de inicialização. Existe uma lógica para tal e é só isso que você deve ter em mente.
Como eu comentei, este algoritmo (e suas variações) é muito utilizado quando se está aprendendo lógica de programação, especificamente, vetores e visam dar a quem aprende a tarefa de entender o problema, identificar uma maneira de solucionar e implementar essa solução.
Existem inúmeras maneiras de resolver tal problema e a tua última solução é uma das mais interessantes.
Eu já vi exercícios com a mesma proposta que pediam a posição onde o maior e o menor números foram encontrados, qual a média dos valores informados e se a diferença entre o maior e a média é igual ao menor, etc.
Eu sempre prefiro iniciar o maior e o menor com o valor que está primeira posição do vetor, acredito que seja a forma mais correta de fazer isso. Se o valor da primeira posição não for nem o maior nem o menor ele será substituído.
Opções. Você pode gostar de laranja e eu preferir abacate, cada um faz a seu gosto.
O resultado muda? O algoritmo terá um custo maior de processamento?
Se não, então eu fico com o meu jeito.
Tem chance de mudar sim, pensa que existe a possibilidade do usuário digitar valores como -2,-3,-4…
Assim o resultado final do maior seria -1 um valor que sequer o usuário haveria inserido.
muita calma nessa hora, @darlan_machado vc falou que ja deu aula mais por favor seja mais humilde reconheça quando o seu código não foi bem feito como eu reconheci que o meu não foi bem feito quanto o seu, não importa quanto tempo vc tenha de carreira, mais estamos aqui no Guj para aprendermos uns com os outros