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
matriz3Dde 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.
Tags:
Algoritmo