Nesta lição vamos aprender a usar os vetores(arrays), que são são estruturas de dados que armazenam uma quantidade predefinida de dados de um mesmo tipo. No exemplo abaixo, declarei o array do tipo inteiro de 5 posições. Por convenção, as posições iniciam apartir do 0. Veja:
int vetor = new int[5];
vetor[0] = 6;
vetor[1] = 3;
vetor[2] = 2;
vetor[3] = 9;
vetor[4] = 16;
A grande vantagem dos vetores é que você não precisa declarar várias variáveis do mesmo tipo para um objetivo em comum. Você não precisa declarar:
int vetor1, vetor2, vetor3, vetor4, vetor5;E você pode usar os laços de repetição para uma programação mais ágil e fácil. Basta você compreender e você estará programando com boa afinidade.
Prática
Neste exemplo é feita a leitura de 10 números inteiros e exibição destes números:
import java.util.Scanner;
public class lerVetor {
public static void main(String[] args) {
//Declaração do array do tipo inteiro de 10 posições
int vetor[] = new int[10];
Scanner input = new Scanner(System.in);
//Leitura
for (int i = 0; i < 10; i++) {
System.out.println("Digite o elemento do vetor[" + i + "]: ");
vetor[i] = input.nextInt();
}
//Mostra os números inteiros lidos
for (int i = 0; i < 10; i++) {
System.out.println("vetor[" + i + "]: " + vetor[i]);
}
}
}
No algoritmo abaixo se tem um trecho de código bastante conhecido, ele ordena uma sequência de números em um vetor:
import java.util.Scanner;
public class ordenaVetor {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
int array[] = new int[10];//Leitura
for (int i = 0; i < 10; i++) {
System.out.println("Informe o numero " + i + ":");
array[i] = input.nextInt();
}
int i, j, aux;//Ordenação do vetor//No caso não foi usado as chaves pois o for executa a linha abaixo, e assim sucessivamente//A ordenação é decrescente - (array[i] < array[j])//Para ordenação crescente - (array[i] > array[j]) - simples
for (i = 0; i < 10; i++)
for (j = i + 1; j < 10; j++)
if (array[i] < array[j]) {
aux = array[i];
array[i] = array[j];
array[j] = aux;
}
System.out.println("Numeros Ordenados: ");//Pode se usar o for desta maneira também!
for (int numero : array) {
System.out.println(numero);
}
}
}
Neste exemplo, é feita a leitura de 5 números, e o algoritmo mostrará a média, o maior, o menor, o número de elementos maiores que 5 e a porcentagem dos números maiores que 5:
import java.text.DecimalFormat;
import java.util.Scanner;
public class mediaVetor {
public static void main(String[] args) {
int vetor[] = new int[5];
int i, maior = 0, menor = 10000, qtdm = 0;
float media = 0, soma = 0;
Scanner input = new Scanner(System.in);
//Leitura dos elementos
for (i = 0; i < 5; i++) {
System.out.println("Digite o " + i + "º elemento");
vetor[i] = input.nextInt();
}
//Verificação do maior, do menor, e da quantidade elementos>5
//A verificação do maior e do menor funciona assim:
//Maior = 0, quando certo elemento é maior do que ele é armazenado o novo
//valor maior, e é assim também com o menor.
//Quanto ao qtdm é usada a incrementação cada vez que a condição é verdadeira
for (i = 0; i < 5; i++) {
soma = soma + vetor[i];
if (vetor[i] > maior) {
maior = vetor[i];
}
if (vetor[i] < menor) {
menor = vetor[i];
}
if (vetor[i] > 5) {
qtdm++;
}
}
//Esta foi uma solução para o número racional que viria da porcentagem
//Então ele não permite - 00,00 - no caso ele permite apenas 00
//Nas bibliotecas importadas temos: import java.text.DecimalFormat;
//Que me permite usar esta ferramenta.
DecimalFormat df = new DecimalFormat();
df.applyPattern("00;(00)");
float porc = (qtdm * 100) / 5;
media = soma / 5;
System.out.println("A média é: " + media);
System.out.println("O maior é: " + maior);
System.out.println("O maior é: " + menor);
System.out.println("O número de elementos maiores que 5 é: " + qtdm);
System.out.print("Porcentagem dos elementos maiores que 5 é: "+ df.format(porc)+"%");
}
}
Nenhum comentário:
Postar um comentário