Código Java que lida com arrays

Explicando o Código em Java

Este artigo analisa detalhadamente um código Java que lida com arrays unidimensionais, matrizes bidimensionais e tridimensionais, além de utilizar classes auxiliares como Scanner, Random e Arrays. Vamos entender cada parte do código.

Importação de Bibliotecas

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

O código importa três bibliotecas fundamentais:

  • java.util.Arrays: Para manipulação de arrays, incluindo ordenação.
  • java.util.Random: Para geração de números aleatórios.
  • java.util.Scanner: Para entrada de dados via teclado.

Estrutura Principal

public class Main {
    public static void main(String[] args) {

A classe Main contém o método main, que é o ponto de entrada do programa.

Leitura e Ordenação de Idades

Scanner scanner = new Scanner(System.in);
Random random = new Random();
int[] idades = new int[5];
System.out.println("Digite 5 idades:");
for (int i = 0; i < idades.length; i++) {
    System.out.print("Idade " + (i + 1) + ": ");
    idades[i] = scanner.nextInt();
}
Arrays.sort(idades);
System.out.println("Idades em ordem crescente: " + Arrays.toString(idades));
  • O usuário insere cinco idades armazenadas no array idades.
  • O array é ordenado em ordem crescente com Arrays.sort().
  • O resultado é exibido usando Arrays.toString(idades).

Matriz 5x5 com Números Aleatórios

int[][] matriz = new int[5][5];
int soma = 0;
System.out.println("\nMatriz 5x5:");
for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        matriz[i][j] = random.nextInt(10);
        soma += matriz[i][j];
        System.out.print(matriz[i][j] + " ");
    }
    System.out.println();
}
System.out.println("Soma dos elementos da matriz: " + soma);
  • Uma matriz 5x5 é preenchida com valores aleatórios de 0 a 9.
  • A soma de todos os elementos da matriz é calculada e exibida.

Ordenação da Matriz 5x5 em Ordem Decrescente

int[] elementos = new int[25];
int index = 0;
for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        elementos[index++] = matriz[i][j];
    }
}
Arrays.sort(elementos);
System.out.println("\nMatriz 5x5 em ordem decrescente:");
index = 24;
for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.print(elementos[index--] + " ");
    }
    System.out.println();
}
  • A matriz 5x5 é convertida em um array unidimensional elementos.
  • O array é ordenado e reorganizado em ordem decrescente.
  • A matriz é recriada e exibida na tela.

Matriz Tridimensional 3x3x3

int[][][] matriz3D = new int[3][3][3];
System.out.println("\nMatriz 3x3x3:");
for (int i = 0; i < 3; i++) {
    System.out.println("Camada " + (i + 1) + ":");
    for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
            matriz3D[i][j][k] = random.nextInt(10);
            System.out.print(matriz3D[i][j][k] + " ");
        }
        System.out.println();
    }
    System.out.println();
}
scanner.close();
  • Uma matriz tridimensional matriz3D de tamanho 3x3x3 é criada.
  • Cada elemento recebe um valor aleatório de 0 a 9.
  • A matriz é exibida camada por camada.

Código para Testa

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();

        // Entrada e ordenação de idades
        int[] idades = new int[5];
        System.out.println("Digite 5 idades:");
        for (int i = 0; i < idades.length; i++) {
            System.out.print("Idade " + (i + 1) + ": ");
            idades[i] = scanner.nextInt();
        }
        Arrays.sort(idades);
        System.out.println("Idades em ordem crescente: " + Arrays.toString(idades));

        // Matriz 5x5 e soma de elementos
        int[][] matriz = new int[5][5];
        int soma = 0;
        System.out.println("\nMatriz 5x5:");
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                matriz[i][j] = random.nextInt(10);
                soma += matriz[i][j];
                System.out.print(matriz[i][j] + " ");
            }
            System.out.println();
        }
        System.out.println("Soma dos elementos da matriz: " + soma);

        // Matriz 5x5 ordenada em ordem decrescente
        int[] elementos = new int[25];
        int index = 0;
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                elementos[index++] = matriz[i][j];
            }
        }
        Arrays.sort(elementos);
        System.out.println("\nMatriz 5x5 em ordem decrescente:");
        index = 24;
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(elementos[index--] + " ");
            }
            System.out.println();
        }

        // Camada 3x3
        int[][] camada = new int[3][3];
        System.out.println("\nCamada 3x3:");
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                camada[i][j] = random.nextInt(10);
                System.out.print(camada[i][j] + " ");
            }
            System.out.println();
        }

        scanner.close();
    }
}

Conclusão

Este código demonstra o uso de arrays unidimensionais e multidimensionais em Java, manipulação de dados, ordenação e geração de números aleatórios. Ele é útil para aprendizado sobre manipulação de matrizes e entrada/saída de dados no console.

Postagem Anterior Próxima Postagem