Então, eu montei este algoritmo com a ajuda de uma amigo mais experiente.
O objeto neste exercício é, de 3 números fornecidos pelo usuário, mostrar o maior e o menor deles.
Eu não tenho uma lógica muito boa e queria ver algum outro método mais simplificado e pelo menos se puderem explicando ao menos um pouco o passo à passo.
import java.util.Scanner;
public class Atividade1 {
public static void main(String[] args) {
int[] vetor = new int[3];
Scanner teclado = new Scanner(System.in);
for (int i = 0; i < vetor.length; i++) {
System.out.print("Digite o " + (i+1) + "º número: ");
vetor[i] = teclado.nextInt();
}
int menor = Integer.MAX_VALUE;
for (int i = 0; i < vetor.length; i++) {
if(vetor[i] < menor) {
menor = vetor[i];
}
}
System.out.println("O menor valor é: " + menor);
int maior = Integer.MIN_VALUE;
for (int i = 0; i < vetor.length; i++) {
if (vetor[i] > maior) {
maior = vetor[i];
}
}
System.out.println("O maior valor é: " + maior);
}
}
/*
* Importação da classe Scanner
*/
import java.util.Scanner;
/*
* Declaração da classe Atividade1
*/
public class Atividade1 {
/*
* Declaração do método main.
* O método principal é semelhante à função principal em C e C ++; é o ponto de entrada para o
* seu aplicativo e, posteriormente, invocará todos os outros métodos exigidos pelo seu programa.
*/
public static void main(String[] args){
/*
* Declaração de um vetor inteiro de 3 posições
*/
int[] vetor = new int[3];
/*
* Instanciação da classe Scanner
*/
Scanner teclado = new Scanner(System.in);
/*
* Estrutura de repetição for
* for(inicialização de variável local; teste; incremento da variável local)
*/
for(int i = 0; i < vetor.length; i++){
System.out.print("Digite o " + (i+1) + "º número: ");
/*
* Expressão de atribuição do dado inteiro lido por meio do scanner ao vetor
*/
vetor[i] = teclado.nextInt();
}
/*
* Define a variável inteira menor com o maior valor inteiro possível
*/
int menor = Integer.MAX_VALUE;
for(int i = 0; i < vetor.length; i++){
/*
* Testa se o valor atual do vetor é menor que o valor da variável menor. Caso seja,
* atribui o valor do vetor à variável menor.
*/
if(vetor[i] < menor){
menor = vetor[i];
}
}
System.out.println("O menor valor é: " + menor);
/*
* Define a variável inteira maior com o menor valor inteiro possível
*/
int maior = Integer.MIN_VALUE;
for(int i = 0; i < vetor.length; i++){
/*
* Testa se o valor atual do vetor é maior que o valor da variável maior. Caso seja,
* atribui o valor do vetor à variável maior.
*/
if (vetor[i] > maior) {
maior = vetor[i];
}
}
System.out.println("O maior valor é: " + maior);
}
}
1 - Integer.MAX_VALUE: A constant holding the maximum value an int can have, 2^(31)-1.
“Uma constante que mantém o valor máximo que um inteiro pode assumir, ou seja, 2^(31)-1 ‘Dois elevado a trigésima primeira potência menos 1’ = 2.147.483.647”
2 - Integer.MIN_VALUE;: A constant holding the minimum value an int can have, -2^31.
“Uma constante que mantém o valor mínimo que um inteiro pode assumir, ou seja, -2^31 ‘Menos dois elevado a trigésima primeira potência’ = -2.147.483.648”