Guia Java

Propaganda
Instituto Politécnico de Setúbal
Escola Superior de Tecnologia de Setúbal
Departamento de Sistemas e Informática
Guia das aulas Práticas e de Laboratório
Computação na Internet
Ano Lectivo 2002/2003
JAVA
Conteúdo:
•
•
•
•
•
Sintaxe
Tabelas
Herança e Classes
Gui
Applets
Executado por:
António Gonçalves
Guia de Exercícios
Sintaxe
1. Escreva uma aplicação simples capaz de imprimir seu nome 10 vezes.
2. Escreva uma aplicação capaz de imprimir uma string especificada pelo
utilizador (primeiro argumento recebido pelo programa) uma vez. Caso exista
como segundo argumento um inteiro válido, a string deve ser impressa o
número especificado de vezes.
3. Escreva uma aplicação que receba um número inteiro n imprimindo uma
contagem de todos os números naturais de 0 até n (inclusive).
4. Escreva uma aplicação que receba um número inteiro n e um outro valor
numérico p que representa o passo da contagem (valor do incremento)
imprimindo uma contagem de 0 até n (se possível) de p em p. Por exemplo, se
fornecido 10 e 3, deverão ser exibidos: 0, 3, 6 e 9. Caso o segundo argumento
não seja fornecido, assume-se que p = 1 (contagem simples).
5. Escreva uma aplicação que receba um número inteiro n retornando a soma de
todos os números naturais de 1 até n (inclusive).
6. Escreva uma aplicação que receba um número inteiro n retornando o produto
de todos os números naturais de 1 até n (inclusive).
7. Escreva uma aplicação que receba dois argumentos inteiros imprimindo uma
mensagem que indica qual o maior valor recebido.
8. Escreva uma aplicação que receba três argumentos que, em ordem,
correspondem sempre a: um valor inteiro, um operador (+, -, * ou /) e um
segundo valor inteiro. A aplicação deve imprimir o resultado da operação.
9. Escreva uma aplicação que receba um argumento numérico inteiro indicando
se o valor dado é par ou ímpar.
10. Escreva uma aplicação que receba um argumento numérico inteiro indicando
se o valor dado é primo ou não.
11. Escreva uma aplicação que receba dois argumentos numéricos inteiros
determinando se o primeiro valor é múltiplo do segundo valor.
12. Escreva uma aplicação que receba três argumentos numéricos inteiros
indicando se o valores dados compõe uma progressão aritmética ou uma
progressão geométrica.
13. Escreva uma aplicação que receba um número variável de argumentos
numéricos inteiros ou strings especificados pelo utilizador imprimindo
separadamente na tela: (a) primeiro os valores numéricos inteiros e (b) depois
as strings. Note que os argumentos numéricos e strings podem ser fornecidos
misturados.
14. Escreva uma aplicação que receba um número variável de argumentos
numéricos inteiros especificados pelo utilizador imprimindo na tela: (a) a
quantidade de valores recebidos, (b) a somatória de todos os valores, (c) o
produto de todos os valores e (d) a média aritmética de todos os valores.
2/
Guia de Exercícios
15. Escreva uma aplicação que receba um número variável de argumentos
numéricos inteiros determinando qual o maior valor recebido.
16. Escreva uma aplicação capaz de escrever por extenso o valor inteiro recebido
como argumento. O valor recebido deve estar dentro do intervalo [0, 99].
Valores maiores ou menores devem ser desconsiderados e uma mensagem
apropriada deve ser exibida.
17. Escreva uma aplicação capaz ler do teclado uma quantidade arbitrária de
números inteiros armazenando-os num vector e imprimindo os valores lidos. A
palavra "fim" indicará o final da sequência de valores. Utilize a classe Console
fornecida no Capítulo 4.
18. Especifique uma classe para armazenar informações sobre um ponto
geométrico no espaço bidimensional (2-D) com as devidas operações sobre
seus atributos.
19. Especifique uma classe para armazenar informações sobre um ponto
geométrico no espaço tridimensional (3-D) com as devidas operações sobre
seus atributos.
20. Escreva uma aplicação que receba a data através de três argumentos: dia do
mês (numericamente), mês (numérica ou explicitamente, por exemplo: janeiro,
fevereiro etc.) e ano (numericamente) determinando o número do dia do ano e
os dias restantes. Dica: estude a classe Date.
21. Escreva uma aplicação que como argumentos: um intervalo de tempo em
segundos (valor inteiro) e um ou mais palavras a serem tratadas como uma
string. A aplicação deve, repetidamente, imprimir a string utilizando o tempo
especificado como intervalo entre as impressões. Dica: estude a classe Thread.
22. Escreva uma aplicação capaz ler uma quantidade arbitrária de números
inteiros armazenando-os numa lista ligada simples, imprimindo novamente os
valores lidos na ordem apresentada e indicando qual o maior valor e sua
posição. Será necessária a criação de uma classe auxiliar que represente os nós
da lista ligada.
23. Escreva uma aplicação que receba como argumentos: uma palavra que
representa título e quatro outras palavras que representam itens de uma lista. A
aplicação devem produzir (imprimir no ecran) o código HTML correspondente
a uma página com o título especificado e uma lista não ordenada contendo os
itens especificados onde estes são links para paginas no mesmo directório com
o nome item.html.
3/
Guia de Exercícios
Tabelas
1. Escreva uma aplicação que leia uma quantidade arbitrária de números inteiros
armazenando-os num vector e imprimindo os valores lidos. O valor “zero”
indicará o final da sequência de valores.
2. Escreva uma aplicação que leia uma certa quantidade (fornecida pelo
utilizador) de números reais armazenando-os num vector e imprima, no ecran,
os valores máximo e mínimo da sequência.
3. Escreva uma aplicação de leia do utilizador 20 números reais armazenando-os
num vector, em seguida, imprima no ecran o dobro de cada valor do vector.
4. Escreva um programa que informe ao utilizador o número de ocorrências
numa determinada sequência. Para isso, preencha previamente um
determinado vector de 10 elementos e em seguida imprima, no monitor, a
quantidade de um certo número (introduzido pelo utilizador) existente no
vector.
5. Escreva um programa que permite ao utilizador preencher um vector de 15
elementos e em seguida, informe ao utilizador a quantidade de números
negativos existente no vector.
6. Elabore um programa que permita ao utilizador preencher um vector de 10
elementos e, em seguida, imprima a posição do maior valor existente.
4/
Guia de Exercícios
Classes
Exercício 1
Programa para registo e consulta de veiculos automoveis para stand de usados.
a)
•
•
•
•
•
Defina uma classe Automovel, que tem a seguinte informação:
marca
ano
nº serie motor
cor
preço
b) Defina os um metodo construtor para a classe Automovel que inicializa os
valores dos atributos através da passagem de argumentos definidos na alínea a)
c) Defina os seguintes métodos
• getMarca– retorna o valor do atributo marca.
• getAno – retorna o valor do atributo ano.
• getSerie – retorna o valor do atributo serie.
• getCor – retorna o valor do atributo cor.
• getPreco– retorna o valor do atributo preco
• setPreco- modifica o valo do atributo preco
d) Crie uma classe principal programa onde:
• crie uma base de dados de informação de automóveis, através da criação de
um array de objectos da classe automóvel .
• Defina um método para preenchimento da base de dados.
e)
•
•
•
•
Defina na classe principal os seguintes métodos:
procuraMarca – lista os automoveis de uma determinada marca.
procuraAno - lista os automoveis de uma determinado ano.
quantosMarcaAno – determina quantos automoveis existem de uma
determinada marca do ano x.
listaAutomovel – lista todas as caracteristicas de um automovel pelo seu nº de
serie.
5/
Guia de Exercícios
Exercício 2
Programa para registo e e consulta de informação sobre os empregados de uma
empresa.
a)
•
•
•
•
•
•
Defina uma classe Empregado, que tem a seguinte informação:
nome
n_BI – numero do BI
n_ empregado – numero do empregado
categoria – categoria da sua função
ordenado – ordenado base
seccao – seccao a que pertence
b) Defina os um metodo construtor para a classe Empregado que inicializa os
valores dos atributos através da passagem de argumentos definidos na alínea a)
c)
•
•
•
•
•
•
•
•
Defina os seguintes métodos
getNome– retorna o valor do atributo nome
getBI – retorna o valor do atributo n_BI
getCategoria – retorna o valor do atributo categoria
getNumEmp – retorna o valor do atributo n_empregado
getOrdenado– retorna o valor do atributo ordenado
setOrdenado- modifica o valor do atributo ordenado
setCategoria – modifica o valor do atributo categoria
setSeccao – modifica o valor do atributo seccao
d) Crie uma classe principal programa onde:
• crie uma base de dados de informação de empregados, através da criação de
um array de objectos da classe Empregado .
• Defina um método para preenchimento da base de dados.
e) Defina na classe principal os seguintes métodos:
• procuraEmpregado – lista os atributos de um empregado pelo seu nº de
empregado
• calculaOrdenado - para um determinado empregado calcula o seu ordenado
liquido, supondo que desconta 11% para a Segurança Social , 15% para o IRS
e 20 EUR para a quota associativa da empresa.
• calculeTotalOrdenados – determina qual o montante total que a empresa
despende com ordenados por mês.
• listaSeccao – lista os nomes e o número de todos os empregados que
trabalham numa determinada secção.
6/
Guia de Exercícios
Herança e Interfaces
Exercício 1
a) Implemente classes a seguir especificadas:
Publicações
a) classe abstracta .
• atributos: nome
• Métodos
¾ void mostra() // mostra o nome
¾ void introduzdados() // lê o nome
Livro
•
•
•
Classe que deriva de Publicações
atributos: nome e autor
Métodos
¾ void mostra() // mostra o nome e o autor do livro
¾ void introduzDados() // lê o nome e autor do livro
Revista
•
•
•
Classe que deriva de Publicações
atributos: nome e numero
Métodos
¾ void mostra() // mostra o nome e o numero da revista
¾ void introduzDados() // lê o nome e o numero da revista
b) No programa principal devera apresentar um menu com a opção de introduzir os 2
tipos de publicação, e consoante o tipo escolhido, pedir ao utilizador a introdução
dos dados respectivos e mostrar em seguida o conteúdo do objecto criado.
c) Modificar o programa principal de modo a poder ter-se uma base de dados de
publicações, implementada sob a forma de um array de objectos de Publicações.
Implementar metodos para introduzir publicações e para listar todas as
publicações introduzidas.
7/
Guia de Exercícios
Exercício 2
a) Implemente as classes abaixo especificadas
Data
•
•
•
Classe abstracta
atributos, ano, dia, mes.
Métodos
¾ boolean bissexto() // verifica se a data pertence a uma ano bissexto
¾ boolean valida() // valida se a data é correcta
¾ void mostra() // método abstracto
¾ void leData() // método abstracto
DataEuropeia
• Classe que deriva de Data
• Métodos
¾ void mostra() // mostra a data no formato ano/mes/dia
¾ void leData() // lê os dados na seguinte forma ano/mes/dia
DataAmericana
•
•
Classe que deriva de Data
Métodos
¾ void mostra() // mostra a data no formato mes/ano/dia
¾ void leData() // lê os dados na seguinte forma mes/ano/dia
DataPortuguesa
• Classe que deriva de Data
• Métodos
¾ void mostra() // mostra a data no formato dia/mes/ano
¾ void leData() // lê os dados na seguinte forma dia/mes/ano
b) No programa principal devera apresentar um menu com a opção de utilizar os 3
formatos de data, e consoante o formato escolhido, pedir ao utilizador a introdução
de uma data, valida-la e caso esta esteja correcta mostrar a data escolhida.
8/
Guia de Exercícios
Exercício 3
a) Cria uma interface com o nome Prova com as seguintes declarações:
int getPontuacao();
void setDataEvento(int ano, int mes, int dia);
int getDiaEvento();
int getMesEvento();
int getAnoEvento();
int getNumElementos();
void setPontuacao(int p);
b) Cria a Classe Futebol que implemente a interface Prova e com o seguinte
métodos e atributos.
Futebol(String nom, int n) // Construtor
E os seguintes atributos:
1. int dia,mes,ano, nElem;// data do jogo, nº elementos da equipa
2. char resultado; // resultado “g-ganhou, e-empatou, p-perdeu
3. String nome; / /Nome da equipa
c)
•
•
•
Implemente na classe Programa1, as seguintes funcionalidades:
Criação de um array de provas de futebol
Preenchimento da informação relativa as provas.
Listagem do nº da equipa e da pontuação (o numero da equipa, corresponde ao
índice do array mais uma unidade).
Exercício 4
a) Cria a Classe Rali que implementa a interface Prova definida no exercício
anterior e que tem os seguintes atributos e construtor:
•
int dia,mes,ano, nElem,tempo;
// data do rali, nº elementos da equipa, tempo conseguido na prova
•
•
String marca,piloto,copiloto
// marca do automóvel , nome do piloto e do copiloto
Rali(String m,String pp, String cp)
// inicializa marca,piloto e co-piloto
b) Altere a classe Programa1 , de modo a cumprir os requisitos indicados no
exercícios 1.c. para registo de corridas de rali.
Nota: // As alterações deverão ser o menor possível.
9/
Guia de Exercícios
Exercício 5
Existe no Java a interface Comparable, que é definida do seguinte modo:
public interface Comparable
{
public int compareTo(Object o);
}
Esta interface impõe a todas as classes que a implementam, a definição de um
algoritmo que permite decidir se uma instancia da classe é maior, menor ou igual do
que outra.
a) Implemente um programa que ordene uma sequência de objectos da classe
Integer. Deverá implementar o método ordena, que recebe um array de elementos
do tipo Comparable, e a ordena, evocando o método compareTo.
b) Defina a classe Ponto que implementa a interface Comparable.
public class Ponto extends Object implements Comparable{
int x;// coordenada x;
int y;//coordenada y;
public Ponto(int x1, int y1)
// construtor que inicializa x e y;
public int compareTo(Object o)
/* retorna 1 se a distancia à origem do ponto receptor for maior que a distancia do parâmetro à
origem e retorna 0 se a distancia for igual.*/
c) Modifique o programa desenvolvido na alínea a) , de modo a este ordenar um
array de pontos. No entanto o método ordenar, não poderá ser modificado.
d) Defina a Classe Cor que implementa a interface Comparable.
public class Cor extends Object implements Comparable{
String n_cor;// nome da cor
final String[]arco_iris={ "vermelho", "laranja", "amarelo", "verde", "azul",“roxo","violeta"};
Nota: A ordem relativa das cores corresponde à ordem do arco_íris. Ex: Amarelo <
Verde
e) Modifique o programa desenvolvido na alínea c , de modo a este ordenar também
um array de cores. No entanto o método ordenar, não poderá ser modificado.
10/
Guia de Exercícios
GUI e Applets
1. Escreva uma aplicação GUI capaz de comparar dois números inteiros,
fornecidos pelo Utilizador através de caixas de entrada (java.awt.TextField)
indicando em um rótulo (java.awt.Label) qual dos valores é o maior. Se
necessário adicione botões (java.awt.Button) a aplicação.
2. Escreva uma aplicação GUI capaz de exibir numa caixa de texto de múltiplas
linhas (java.awt.TextArea) o factorial de todos os números naturais entre 1 e
um valor inteiro fornecido pelo Utilizador através de uma caixa de entrada
(java.awt.TextField). Os cálculos devem ser exibidos apenas depois do
accionamento de um botão específico (java.awt.Button), um valor por linha na
forma "n! = valor" (1! = 1, 2! = 2, 3! = 6, etc.).
3. Escreva uma aplicação GUI capaz de efectuar somas, subtracções,
multiplicações e divisões onde: os valores de seus dois operandos são
fornecidos em caixas de entradas (java.awt.TextField) assim como o resultado
numa caixa de texto não editável. As operações são fornecidas num combo
(java.awt.Choice) e a operação é realizada pressionando-se um botão
(java.awt.Button).
4. Escreva uma aplicação contendo duas caixas de entrada (java.awt.TextField),
duas caixas de lista (java.awt.List) digamos A e B e 6 botões
(java.awt.Button). Cada caixa de entrada serve para introduzir itens em uma
caixa de lista específica. Os botões servem para: limpar caixa A, limpar caixa
B, transferir o item selecionado em A para B, transferir o item seleccionado
em B para A, transferir todos os itens de A para B e transferir todos os itens de
B para A.
5. Escreva uma aplicação contendo quatro botões de opção (java.awt.Checkbox)
e uma caixa de texto de múltiplas linhas (java.awt.TextArea) onde ao clicar
numa opção é indicada na caixa de texto qual opções estão actualmente
seleccionadas. Modificando-se a selecção modifica-se a indicação destas na
caixa de texto. Só devem ser relacionadas as opções seleccionadas.
6. Faça uma aplicação contendo quatro caixas de texto (java.awt.TextField) das
quais apenas uma é editável. Um botão (java.awt.Button) deve prover o
rodízio dos textos entre as várias caixas de texto, isto é, o texto da primeira
caixa passa para a segunda, o da segunda caixa para a terceira, o da terceira
caixa para quarta e desta última novamente para a primeira caixa. Note que a
caixa estiver vazia ao efectuar o rodízio o "vazio" é transferido para a caixa
seguinte.
7. Faça uma aplicação que contenha três caixas de entrada (java.awt.TextField) e
dois botões capaz de: eliminar da string contida na primeira caixa de texto o
caracter indicado na segunda caixa de texto ou substituir tal caracter pelo
indicado na terceira caixa de texto. Dica: veja na classe String métodos úteis
para estas tarefas.
8. Faça uma aplicação que demonstre através de botões os seguintes estados de
uma caixa de texto: visível/não visível, habilitada/não habilitada, editável/não
editável. São necessários três botões e uma caixa de texto. Dica: pesquisa a
11/
Guia de Exercícios
classe java.awt.TextField e seus ancestrais até java.awt.Component para
encontrar os métodos necessários.
9. Construa uma aplicação que dado o peso e a altura de uma pessoa em caixas
de entrada determine o índice de massa corpórea IMC = massa/(altura2)
através do accionamento de um botão diagnosticando (exibindo num rótulo ou
caixa de entrada não editável): abaixo do peso (IMC<20), peso normal (20 <=
IMC <= 25), sobrepeso (IMC > 25).
10. Faça uma aplicação gráfica capaz de desenhar um tabuleiro de xadrez (um
reticulado de quadrados brancos e pretos).
11. Construa uma aplicação contendo uma barra de menu (java.awt.MenuBar),
com dois menus (java.awt.Menu) distintos e no mínimo cinco itens
(java.awt.MenuItem) em cada menu. Ao serem clicados o título da aplicação
deve ser modificado para indicar a opção selecionada.
12. Desenvolva uma aplicação que receba valores inteiros numa caixa de lista
(java.awt.List) utilizando uma caixa de entrada (java.awt.TextField). Devem
existir botões (java.awt.Button) para: limpar a caixa de lista, eliminar apenas o
item selecionado e desenhar um histograma com barras coloridas dos valores
fornecidos.
13. Escreva uma aplicação que preencha uma janela com um arquivo GIF ou JPG
especificado num caixa de entrada produzindo o efeito lado-a-lado (tile).
14. Escreva uma aplicação gráfica que coloque em caixas de entrada
(java.awt.TextField) distintas e não editáveis as seguintes informações:
coordenada x e coordenada y da janela onde ocorreu o último clique do rato,
qual o botão do rato foi accionado.
15. Faça uma aplicação que sorteie um número entre 1 e 20 oferecendo ao
Utilizador três caixas de texto (java.awt.TextField) para que sejam dados
palpites. As caixas devem ser activas e não activas conforme o fornecimento
da 1ª , 2ª e 3ª tentativas. A aplicação deve sinalizar se o valor foi adivinhado
no instante que tal valor seja fornecido ou exibir o valor sorteado caso o
Utilizador não consiga determiná-lo. Não use botões ou rótulos.
16. Faça uma aplicação que desenhe polinômios de uma variável de ordem 1, 2 e 3
dentro de um intervalo xmin e xmax fornecido. As informações necessárias
(coeficientes dos termos de ordem 0 até 3 e os limites do intervalo podem ser
colhidas em caixas de entrada. Sugere-se que a origem do eixos x e y, que
devem ser desenhados em cor distinta da curva produzida, fique localizada no
centro da janela. Não é necessário adicionar-se valores aos eixos desenhados.
Considere que uma unidade equivale a um pixel para determinação da escala
de desenho (opcionalmente esta razão poderia ser modificada permitindo
ampliar o gráfico).
17. Faça uma aplicação gráfica capaz de desenhar automaticamente polígonos
regulares de 3 ou mais lados, onde o número de lados é seleccionável e
limitado a 20 (use uma caixa de entrada ou combo para efectuar tal selecção).
Através de uma caixa de opção (java.awt.Checkbox) devemos indicar se o
polígono deve ou não ser preenchido.
18. Escreva uma aplicação gráfica que permita desenhar várias linhas na posição,
comprimento e cor seleccionada pelo Utilizador. A cor deve ser seleccionada
12/
Guia de Exercícios
num combo (java.awt.Choice) enquanto que a linha desenhada mediante dois
cliques sucessivos do rato.
19. Construa uma calculadora de 4 operações básicas (sem memória e outros
complementos) que se apresente com botões (java.awt.Button) para os dígitos
e operações e um visor (java.awt.Label). O layout dos componentes deve se
assemelhar ao máximo a uma calculadora convencional.
20. Faça uma aplicação gráfica que desenhe um degrade horizontal ou vertical
(configurável) de cores, preenchendo a janela a aplicação, de um lado a outro,
indo de uma cor inicial definida pelo Utilizador através de valores RBG até o
preto ou branco (configurável). Dica: desenhe linhas justapostas com cores
ligeiramente diferentes.
21. Faça uma aplicação gráfica que exiba um contagem de 1 até um número
inteiro especificado numa caixa de entrada (java.awt.TextField), tomando um
intervalo também ajustável (de 0,1 até 10 segundos) entre a exibição de cada
valor. Dica: utilize o método estático Thread.currentThread associado ao
método sleep, ambos da classe java.util.Thread.
22. Faça uma aplicação gráfica que se comporte como um relógio analógico, isto
é, um relógio circular com algarismos e ponteiros de hora e minutos (ponteiro
de segundo opcional). Dica: pesquise a demonstração que acompanha o JDK.
23. Faça uma aplicação gráfica que se comporte como um duplo relógio
analógico, isto é, um relógio para a hora local e um segundo que exiba a hora
numa capital de outro país simultaneamente. Seria desejável que a cidade
pudesse ser escolhida entre um conjunto de 5 ou 6 cidades.
24. Desenvolva uma aplicação que se comporte como o jogo campo minado
utilizando botões para implementar as "posições" do jogo. Campo de tamanho
fixo 10x10, apenas 8 bombas, sem contagem de tempo e sem necessidade de
abrir posições pontuadas com zero automaticamente. Sugestão: veja como
funciona o jogo fornecido com o MS-Win
25. Escreva uma applet capaz de converter o valor em Reais fornecido numa
caixas de entrada (java.awt.TextField) em outro valor monetário conforme a
seleção de uma moeda (no mínimo 3 moedas diferentes) numa caixa de
seleção (java.awt.Combo) indicando o resultado em um rótulo
(java.awt.Label). Se necessário adicione botões (java.awt.Button) a applet.
26. Escreva uma applet GUI capaz de calcular o valor futuro de um montante
corrigido a taxa de juros fixa, sem depósitos adicionais por um período de n
meses. A valor inicial, a taxa de juros (valor real) e o número de meses (valor
inteiro) devem ser fornecidos pelo usuário através de caixas de entrada
(java.awt.TextField). Os cálculos devem ser exibidos num rótulo
(java.awt.Label) apenas depois do accionamento de um botão
(java.awt.Button).
27. Construa uma applet que dado o peso e a altura de uma pessoa em caixas de
entrada determine o índice de massa corpórea IMC = massa/(altura2) através
do accionamento de um botão diagnosticando (exibindo num rótulo ou caixa
de entrada não editável): abaixo do peso (IMC<20), peso normal (20 <= IMC
<= 25), sobrepeso (IMC > 25).
13/
Guia de Exercícios
28. Escreva uma applet que exiba um quadrado colorido em seu interior. O
tamanho do quadrado deve ser de 90% da maior dimensão da applet e sua cor
deve ser obtida através da obtenção de um parâmetro especificado em tags
<PARAM> do arquivo html.
29. Construa uma applet capaz de exibir uma figura jgp ou gif especificada pelo
usuário numa caixa de texto.
30. Desenvolva uma applet que exiba um gráfico de barras (histograma) cujos
valores, cores e rótulos são passados como parâmetros desta applet.
31. Desenvolva uma applet que exiba um gráfico tipo "pizza" cujos valores, cores
e rótulos são passados como parâmetros desta applet. É desejável que ao
menos uma das "fatias" possa ser destacada da "pizza".
32. Modifique a applet do exercício 1 de forma que um número variável de
moedas e suas respectivas taxas de câmbio sejam obtidas dos parâmetros da
applet.
33. Desenvolva uma applet que exiba um gráfico tipo barra cujos valores, cores e
rótulos são passados como parâmetros desta applet. A barra representa sempre
100%, indicando opcionalmente a composição percentual de cada valor
adicionado.
34. Escreva uma applet capaz de efectuar a consistência de um número fornecido
e seus dígitos de controle fornecidos em duas caixas de texto distintas
(java.awt.TextField) após o accionamento de um botão (java.awt.Button). O
números admitidos possuem 5 dígitos e o dígito de controle possui apenas um
dígito. Para verificar a validade do dígito de controle deve-se efectuar o
seguinte
cálculo
para
um
número
abcde:
controle
=
(a*2+b*3+c*5+d*6+e*7)%10.
35. Escreva uma applet que apresente um texto obtido de um parâmetro como um
letreiro luminoso, isto é, o texto é exibido numa cor inicial e, depois de um
tempo (também obtido dos parâmetros), o texto é exibido numa segunda cor,
repetindo-se a sequência.
36. Desenvolva uma applet que se comporte como uma questão de um teste. A
applet deve apresentar um enunciado e uma lista de opções das quais apenas
uma pode ser escolhida. Ao accionar-se um botão, cada opção direcciona o
browser para outra url permitindo o encadeamento de exercícios utilizando
applets em cada uma destas páginas. O enunciado, as alternativas e as urls
associadas a cada uma devem ser obtidas de parâmetros da applet.
37. Desenvolva uma applet que exiba um conjunto de botões que possam ser
accionados provocando o direccionamento do browser para a página indicado.
O número de páginas e seus endereços devem ser obtidos dos parâmetros da
applet.
38. Desenvolva uma applet que exiba uma imagem. A applet tratará a imagem
como uma grade invisível de l linhas e c colunas sendo que para cada uma das
células desta grade se associa um site. Ao clicar na figura o browser deverá ser
direccionado para este site. O número de linhas, colunas e os respectivos
endereços electrónicos devem ser obtidos de parâmetros da applet.
14/
Guia de Exercícios
39. Desenvolva uma applet que exiba uma animação qualquer utilizando apenas
primitivas gráficas, por exemplo, quadrados coloridos em movimento,
preenchimento aletório da área da applet, etc.
40. Escreva uma applet capaz de desenhar
um gráfico do tipo
y=a0+a1*x1+a2*x2+...+a10*x10 onde o valor mínimo e máximo de x são
fornecidos, bem como o passo (incremento de x). Os coeficientes a0 até a10
devem ser fornecidos através de caixas de lista ou caixas de lista ou outro meio
qualquer.
41. Faça uma applet que permita deslocar verticalmente um conjunto de linhas
texto fornecido como parâmetro. O deslocamento deve ser suave e contínua. É
desejável a parametrização do fonte do texto, da cor do texto e da cor de fundo
da applet, bem como algum grafismo para melhorar seu visual.
42. Faça uma applet que se conecte ao servidor que forneceu a página através de
sockets recebendo deste um boletim de texto que deve ser exibido num
componente do tipo java.awt.TextArea. Arbitre livremente a porta do servidor
utilizada para este serviço. A aplicação que será executada no servidor deve
extrair o boletim de um arquivo texto localizado no mesmo directório da
aplicação.
15/
Download