You are on page 1of 5

Lista

de Exerccios 02 Arrays em Java



Lembre-se que antes de implementar devemos modelar, e pensar nos testes que sero
realizados. Em todos os exerccios implemente a main com os testes.

Exerccio 1:
Explique o que acontece quando voc tenta compilar o seguinte pedao de cdigo:
int n = 1000;
int[] a = new int[n*n*n*n];


Exerccio 2:
O que est errado no cdigo abaixo?
int[] a;
for (int i = 0; i < 10; i++)
a[i] = i * i;


Exerccio 3:
O que o cdigo abaixo imprime?

int[] a = { 1, 2, 3 };
int[] b = { 1, 2, 3 };
System.out.println(a == b);


Exerccio 4:
Crie uma funo que pea 10 nmeros, armazene eles em um vetor e diga qual elemento o maior,
qual o menor e que seus valores.

Exerccio 5:
Crie uma funo que receba um nmero inicial e uma razo e calcule os termos de uma P.A (Progresso
Aritmtica), armazenando esses valores em um vetor de tamanho 10.

Exerccio 6:
Crie uma funo que receba um nmero inicial e uma razo e calcule os termos de uma P.G (Progresso
Geomtrica), armazenando esses valores em um vetor de tamanho 10.

Exerccio 7:
Escreva um main Java que solicita 5 valores ao usurio, armazena esses valores em um array chamado
vet1 de inteiros. Depois, copia o contedo desse array para um segundo array chamado vet2. O
programa deve imprimir os dois arrays na tela.

Modifique o exerccio anterior de forma que o contedo de vet1 seja copiado para vet2 de forma
invertida. Veja o exemplo:

Vetor Original
1 5 0 4 9

Vetor Invertido
9 4 0 5 1


Exerccio 8:
Escreva uma funo que reverta a ordem de valores em um vetor. No crie outro vetor.

Exerccio 9:
Escreva uma funo que reverta a ordem de valores em um vetor bidimensional. No crie outro vetor.

Exerccio 10:
Faa um mtodo que devolve uma matriz de nmeros lidos do teclado.

Exerccio 11:
Crie um mtodo que recebe uma matriz bidimensional double e retorna o maior valor da matriz.

Exerccio 12:
Crie um mtodo que recebe uma matriz de inteiros e retorna a soma de todos os elementos da matriz.


Exerccio 13:
Crie um mtodo que recebe uma matriz bidimensional inteira e um inteiro que indica uma de suas
linhas, e retorna a mdia dos valores daquela linha.

Exerccio 14:
Crie um mtodo que recebe uma matriz de inteiros positivos e substitui seus elementos de valor mpar
por -1 e os pares por +1.

Exerccio 15:
Escreva um trecho Java que leia 10 valores double do teclado e armazene-os em uma matriz de
dimenses 2x5.

Exerccio 16:
Crie um mtodo que recebe uma matriz bidimensional double e retorna a quantidade de linhas da
matriz.

Exerccio 17:
Crie um mtodo que recebe uma matriz bidimensional double e retorna a quantidade de linhas da
matriz.

Exerccio 18:
Crie um mtodo que recebe uma matriz bidimensional double e devolve um String de sada para ela.

Exerccio 19:
Como criar um programa que checa se o nmero palndromo. Nmero palndromo aquele que, se
lido de trs para frente e de frete para trs, o mesmo.
Exemplos: 2112, 666, 2442 etc.

Dica: extraia os dgitos, coloque cada dgito do nmero em um vetor e faa a comparao dos nmeros
(primeiro com o ltimo, segundo com o penltimo, terceiro com o anti-penltimo etc.).

O nmero deve ter no mximo 8 dgitos.

Exerccio 20:
Prepare um vetor com os seguintes instrumentos: violoncelo, guitarra, violino e baixo. Faa um loop sobre
os elementos do vetor e remova suas vogais, mantendo os instrumentos sem vogais nas posies originais
do vetor.

Exerccio 21:
Crie um programa em Java que contenha o conjunto de funes abaixo. totalPares: a funo recebe um
vetor com inteiros e retorna um nmero inteiro indicando o total de nmeros pares existentes no array.
totalPrimos: a funo recebe um vetor com inteiros e retorna um nmero inteiro indicando o
total de nmeros primos existentes no array.
maiorValor: a funo recebe um vetor com doubles e retorna o maior nmero existente no
array.
media: a funo recebe um vetor com doubles e retorna a mdia dos valores existentes.
desvioPadrao: a funo recebe um vetor com doubles retorna o desvio padro dos valores
existentes.
totalIguais: a funo recebe dois vetores com inteiros como parmetro e retorna o total de
nmeros iguais existentes entre os dois vetores.
toString: a funo recebe um vetor com inteiros e retorna uma string no formato:[elem1,
elem2, ]
Crie um cdigo no main para testar a sua classe.

Frmula para a mdia:
Frmula para o desvio padro amostral:





Exerccio 22:
Crie um programa em Java que implemente a funo valores_entre. Essa funo recebe como parmetro
um array de inteiros V e retorna um outro array de inteiros contendo todos os valores de V que estejam
entre o valor mnimo e mximo (que tambm so passados como parmetro para a funo).

Em seguida, crie a funo principal do programa para inicializar um array de inteiros de tamanho 10, exibir
esses valores na tela e pedir para o usurio digitar o valor mnimo e mximo a ser buscado. Em seguida o
programa dever chamar a funo valores_entre e exibir na tela os valores resultantes. Lembre-se de
exibir uma mensagem de erro caso nenhum valor seja encontrado entre o mnimo e o mximo.

Exerccio 23:
Crie um programa em Java que implemente a funo uniao. Essa funo recebe como parmetros dois
arrays de inteiros e retorna um novo array contendo a unio de v1 e v2. Por exemplo, se v1 = {11, 13, 45,
7} e v2 = {24, 4, 16, 81, 10, 12}, v3 conter {11, 13, 45, 7, 24, 4, 16, 81, 10, 12}.

Em seguida, crie a funo principal do programa para chamar a funo uniao passando dois arrays
informados pelo usurio (ou declarados estaticamente). Em seguida, o programa deve exibir na tela os
elementos do array resultante.

Exerccio 24:
Neste exerccio voc deve escrever um programa para explorar a matriz abaixo, que representa um mapa
do tesouro. Os valores dispostos nas clulas da matriz so pistas e apontam para a prxima clula que
deve ser examinada para encontrar o tesouro ou a prxima pista.

Cada clula contm um nmero inteiro entre 11 e 55. O valor do dgito mais alto (5 em 52, por exemplo)
representa o nmero da linha da prxima clula, enquanto o valor do dgito mais baixo (2 em 52, por
exemplo) representa a coluna da prxima clula. A partir do canto superior esquerdo (representado pelos
valores 1 e 1), use as pistas para orientar a busca pela matriz. As trs primeiras pistas so 11, 34 e 42.

O tesouro uma clula cujo valor o mesmo que as suas coordenadas. Seu programa deve representar
o mapa do tesouro em um vetor (array) 5x5. Em seguida, ele deve apresentar as clulas que visita durante
a busca e uma mensagem indicando onde encontrou o tesouro.

+-------------------------+
34 21 32 41 25
+----+----+----+----+-----
14 42 43 14 31
+----+----+----+----+-----
54 45 52 42 23
+----+----+----+----+-----
33 15 51 31 35
+----+----+----+----+-----
21 52 33 13 23
+-------------------------+

Exerccio 25:
Crie uma funo que receba um vetor multi-dimensional que armazene para cada aluno de um curso, as
disciplinas em que est inscrito e a nota final. A funo deve imprimir na tela a mdia de notas de cada
aluno.

Exerccio 26:

Crie uma funo que receba um vetor multi-dimensional que armazene para cada aluno de um curso, as
disciplinas em que est inscrito e a nota final. A funo deve imprimir na tela a mdia de notas de cada
disciplina.

Exerccio 27:
Crie uma funo que recebe um vetor multi-dimensional que armazene grupos de Cidade, Populao,
Pas, Continente. A funo deve imprimir (i) quantas cidades h no mesmo pas, (ii) quantas cidades h no
mesmo continente, (iii) quantos pases h no mesmo continente, (iv) a populao total de cada
continente.

Exerccio 28:
Escreva um programa que implemente o jogo Qual o filme?. Nesse o jogo, o jogador 1 deve digitar o
nome de um filme e em seguida 5 pistas descritivas sobre o filme. Depois, o jogador 2 tem 5 chances para
tentar adivinhar o nome do filme. Inicialmente somente a primeira pista mostrada para o jogador 2,
mas sempre que ele errar o nome do filme, uma nova pista exibida na tela e o jogador pode tentar
adivinhar o nome filme novamente.

A pontuao do jogador 2 depende do nmero de pistas que ele utilizou para descobrir o nome do filme:

1 pista: +100
3 pistas: +40
5 pistas: +10
2 pistas: +60
4 pistas: +20

Na implementao do jogo, voc deve utilizar um array de Strings para armazenar as pistas sobre o filme.
O seu programa deve implementar pelo menos as seguintes funes:
lerPistas: a funo recebe como parmetro um array de strings. A funo deve pedir para o
jogador digitar as 5 pistas e armazenar as pistas dentro do array;
mostrarPistas: a funo recebe como parmetro um array de strings e um inteiro indicando o
nmero de pistas que devem ser exibidas. A funo deve exibir na tela o nmero especificado
de pistas;
comparaFilme: a funo recebe como parmetro duas strings e deve retornar 1 caso o nome
dos filmes seja igual e 0 caso sejam diferentes;

Alm das funes sugeridas, voc livre para criar mais funo para facilitar a implementao do
programa.

Implemente tambm a funo principal do programa para permitir que 2 jogadores possam jogar o jogo
Qual o filme?. Ao final do jogo, o programa deve exibir a pontuao dos jogadores.
O exemplo abaixo mostra como seria uma execuo do jogo:

Jogador 1 - Digite o nome do filme: Matrix
Jogador 1 Digite a pista 1: Humanidade dominada por maquinas
Jogador 1 Digite a pista 2: Siga o coelho branco
Jogador 1 Digite a pista 3: Oraculo
Jogador 1 Digite a pista 4: Keanu Reeves
Jogador 1 Digite a pista 5: Neo

Pista 1: Humanidade dominada por maquinas
Jogador 2 Qual o nome do filme? Exterminador do Futuro

Voc errou!

Pista 1: Humanidade dominada por maquinas
Pista 2: Siga o coelho branco
Jogador 2 Qual o nome do filme? Matrix

Voc acertou! +60 pontos!

Opcionalmente, voc pode implementar o jogo completo, incluindo turnos, pontuao de cada jogador e
permitindo que os jogadores possam continuar jogando at que um deles decida terminar o jogo.

Exerccio 29:
Pilha: uma pilha uma estrutura de dados que pode realizar as seguintes operaes:
push, que adiciona um elemento no topo da pilha;
top, que retorna o elemento que est no topo da pilha, sem remov-lo; e
pop, que remove e retorna o elemento do topo da pilha.

Implemente uma classe para representar uma pilha de nmeros inteiros com suas operaes.

Alm dos mtodos acima, tambm implemente mais dois:
clear, que remove todos os valores da pilha;
show, que exibe o contedo da pilha.

Internamente utilize um Array para armazenar os valores.

Exerccio 30:
Filas: uma fila uma estrutura de dados que permite duas operaes:
push, que adiciona um valor no final da fila;
pop, que remove um valor do incio da fila.

Implemente uma classe para representar uma fila de strings com as suas operaes.

Alm dos mtodos acima, tambm implemente mais dois:
clear, que remove todos os valores da fila;
show, que exibe o contedo da fila.

Internamente utilize um Array para armazenar os valores.

Exerccio 31:
Criando um tabuleiro de Jogo da Velha. Crie um tabuleiro de jogo da velha, usando uma matriz de
caracteres (char) 3x3, onde o usurio pede o nmero da linha (1 at 3) e o da coluna (1 at 3). A cada vez
que o usurio entrar com esses dados, colocar um 'X' ou 'O' no local selecionado.

Exerccio 32:
Implemente o jogo da velha em que um usurio joga com o computador. O computador nunca pode
perder.


Fontes dos exerccios:
Mrcio Barros (via https://www.weheartswift.com/strings/), Pedro Moura, Edirlei Lima, Gleison Santos,
material da internet: http://professor.unisinos.br/linds/lab2/exerc_array_bidim.pdf,
https://ramonrdm.files.wordpress.com/2011/09/lista6-ine5402-ine5603.pdf e
http://www.cprogressivo.net/2013/03/Exercicios-sobre-vetores-e-matrizes-em-C.html .