Você está na página 1de 4

Lista de Exercícios – Preparativos para a Prova 1

1. Monte uma aplicação que leia um arquivo de texto e exiba-o em uma tela gráfica.
Utilize o objeto JTextArea para exibir o conteudo do texto
Ex :
String s = “ola ... “;
JTextArea texto = new JTextArea( s );
Lembre-se de criar :
• Um ponteiro para o arquivo (File)
• Um canudinho para ler os dados do arquivo (FileReader)
• Faça um filtro para ler as linhas diretamente do arquivo
(BufferedReader)
Note que será preciso ler todas as linhas e concatenar os conteúdos em outra
string antes de exibir na tela. O método .readLine() do objeto BufferedReader
retorna null quando não há mais linhas para serem lidas.

2. Escreva um programa que pegue um número qualquer do usuário e calcule seu


fatorial.
• Solicitar um número ao usuário
• Criar um objeto do tipo Runnable para calcular o número
• Passar o número como uma informação para a classe Runnable
• Criar uma Thread para aquele objeto Runnable
• Inicializar a Thread com o comando start()
• Voltar ao passo 1 para que o usuário digite outro número. O
programa deve sair quando o usuário digitar o número 0

3. Crie um Java Bean chamado Pessoa contendo os seguintes atributos Nome, Peso,
Altura, Sexo.

4. Crie uma classe contendo uma matriz 4 x 4 com valores reais e crie algumas
funções para realizar as operações abaixo :
a. Mostrar a soma dos elementos na linha da matriz ( n da linha passado
como parâmetro).
b. Mostrar a soma dos elementos na coluna da matriz ( n da coluna passado
como parâmetro).
c. Retornar o índice do maior valor armazenado na matriz e em qual
posição se encontra (linha x coluna).
d. Retornar qual o valor da soma de todos os elementos da matriz.
e. Multiplicar todos os elementos ímpares da matriz por 3 e todos os pares
por 2. Informe ao usuários quantos elementos pares e impares existem.
f. Mostre o conteúdo do vetor para o usuário.
5. Monte uma janela de teste que exiba um texto
qualquer, e que contenha um botão Sair o qual
fecha a janela e encerra a aplicação (conforme
abaixo).
Dica : Utilize o comando System.exit(0) para
encerrar a aplicação java

6. Crie uma classe chamada Tabuleiro, que implemente o diagrama abaixo

O método preencherTabuleiro deve popular os dados da matriz tabuleiro com 0 e 1


sendo 0 para casa vazia e 1 para casa preenchida. Esta função deve distribuir 5 peças
no tabuleiro (aleatoriamente).

O método fazerJogada receberá as cordenadas da peça (x1 e y1) e as coordenadas de


destino dessa peça (x2 e y2), e deverá movê-la de posição seguindo as regras abaixo :
• A função deverá testar se as coordenadas de origem estão dentro
do tabuleiro e se realmente existe uma peça lá
• A função deverá testar se as coordenadas de destino estão dentro
do tabuleiro e se realmente apontam para uma casa vazia
Caso o movimento seja possível, então a peça deve ser movimentada e a a função
deverá retornar (true), em caso contrário a peça permanecerá no mesmo lugar e a
função retornará (false).

A função imprimirTabuleiro deverá mostrar na console o conteúdo da matriz ex:


0 1 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 ...
0 0 0 0 0 0 0 0 1 0 0 0 0 ...
0 0 0 0 0 0 0 0 0 0 0 0 0 ...
.
.
A primeira casa será na coordenada (0, 0) e a última será na coordenada (7, 7)

7. Modifique o exercicio anterior para que a classe Tabuleiro ela exiba o tabuleiro
em uma tela gráfica.
• Para isto você precisará fazer com que a classe Tabuleiro herde a
classe de algum componente gráfico como por exemplo o componente
Jpanel
• Sobrescreva a função public void paint (Graphics g).
• Desenhe um tabuleiro com casas pretas e brancas semelhante a um
tabuleiro de Damas.
• Exiba um circulo azul preenchido nas casas correspondente a
celula da matriz que tiver o valor 1.
Nota : A tela deverá conter 64 celulas sendo que o tamanho de cada célula pode
variar conforme o tamanho da Janela.

8. Calculadora
a. Monte uma calculadora com botões para os número e para as 4 operações
básicas, e uma tela de display.
b. Faça com que cada botão apertado exiba na tela do display o número de
forma acumultiva (como em uma calculador convencional), quando uma
operação for teclada a calculadora deverá limpar o display, deixando apenas o
número 0.

9. Faça um programa que leia o conteudo de um arquivo chamado FUNC.CSV


provido pelo RH da empresa e insira os dados na tabela FUNCIONARIOS do
banco de dados.
O arquivo FUNC.CSV contém os nomes dos funcionários contratados pela
empresa e outras informações separadas pelo caractere (;). Este arquivo é
atualizado todos os dias pelo sistema de RH
Vamos assumir que o arquivo AGENDA.CSV encontra-se no diretório C:/TEMP,
que a primeira linha do arquivo é um cabeçalho e as demais linhas possuem as
informações dos funcionários.
Exemplo:
Matricula;Nome Completo;Email;Data Nascimento;Cargo;Matricula do Gerente
03311;João Alberto; joao.alberto@acme.com;03/05/1970;Especialista de
Sistemas;03283
03312;Marcio Rocha; marcio.rocha@acme.com;11/10/1975;Analista de
Sistemas;03283
03314;Camila Alves; camila.alves@acme.com;02/02/1983;Estagiária;03283

A tabela FUNCIONARIOS possui a seguinte estrutura:


FUNCIONARIOS
MATRICULA varchar(12)
PRIIMEIRO_NOME varchar(25)
ULTIMO_NOME varchar(25)
EMAIL varchar(60)
DATA_NASCIMENTO datetime
CARGO varchar(60)
MATRICULA_GERENTE varchar(12)
Nota : O campo nome deve ser dividido entre primeiro nome e ultimo nome, para
isto utilize as funções:
String subString(int inicio, int final)
Retorna um pedaço da String compreendido pela posição de inicio e a posição
de final. Exemplo:
String x = “abc”;
String y = x.subString(0, 2); //ab
int lenght()
Retorna o tamanho da String. Exemplo:
String x = “aluno”;
System.out.println(“Tamanho da String x é : “ + x.length()); //5
int indexOf(String procurada, int posicaoInicial)
Procura uma String dentro de outra String e retorna a posição inicial onde esta
String foi encontrada. Se o parâmetro posicaoInicial for especificado a função
indexOf procurará pela String apartir da posicao inicial especificada. Exemplo:
String x = “Todo Jacaré é carnívoro”;
int p1 = x.indexOf(“carnívoro”); //14 porque a posição inicial da string é 0
String y = “Nesta String há alguns espaços”;
int p2 = y.indexOf(“ “, 7); //12 porque ele procura a primeira ocorrência da
String (“ ”) apartir da 7ª posição