Exercicios Java Oo
Exercicios Java Oo
Lgica estruturada
Decises
1) Fazer um programa em Java para:
receber 3 valores n1, n2 e n3 do usurio
verificar se estes valores podem ser os lados de um tringulo. Em caso
afirmativo, informar se o tringulo equiltero, issceles ou escaleno.
2) Fazer um programa que recebe 3 valores no inteiros do usurio e mostra o
maior deles, o menor deles e a mdia.
3) Fazer um programa que recebe duas notas parciais de um aluno (0 a 100) e
informa se ele est aprovado, em exame final ou reprovado. Caso esteja em
exame o programa deve pedir a nota do exame (0 a 100) e informar se o aluno
est aprovado ou reprovado.
4) Solicite ao usurio para digitar um nmero, e mostre-o por extenso. Este
nmero dever variar entre 1 e 10. Se o usurio introduzir um nmero que no
est neste intervalo, mostre: "nmero invlido". Faa duas verses deste
programa:
Use uma estrutura if-else para resolver este problema
Use uma estrutura switch-case para resolver este problema
Fonte:http://www.bernhard.pro.br/disciplinas/java/ensino/java-L01.pdf
Repeties
5) Fazer uma classe Ex1Primos para:
Receber um inteiro N do usurio
Testar se este inteiro primo ou no e informar
6) Fazer um programa para mostrar os 100 primeiros termos da srie de Fibonacci.
7) Fazer um programa para mostrar todos os nmeros perfeitos entre 1 e 100.
8) Fazer uma classe Ex2Sorteio para:
Sortear um nmero de 0 a 1000 (dica: usar Math.random())
String
15) Fazer uma classe ExecString que:
Recebe duas strings do usurio (dica: usar nextLine da classe Scanner)
16) Faa um programa que receba um nome completo na forma de uma String e
mostre a abreviatura deste nome. No se devem abreviar as palavras com 2 ou
menos letras. A abreviatura deve vir separada por pontos. Ex: Paulo Jose de
Almeida Prado. Abreviatura: P. J. de A. P.
17) Fazer um programa que receba uma string do usurio e mostre o contedo desta
string de forma invertida.
18) Fazer um programa para:
receber uma string do usurio
contar e mostrar quantas palavras existem na string
contar e mostrar quantas vogais existem na string
19) Um dos sistemas de encriptao mais antigos atribudo a Jlio Csar: se uma
letra a ser encriptada a letra de nmero N do alfabeto, substitua-a com a letra
(N+K), onde K um nmero inteiro constante (Csar utilizava K = 3).
Usualmente consideramos o espao como zero e todos os clculos so
realizados com mdulo-27. Dessa forma, para K = 1 a mensagem Ataque ao
amanhecer se torna bubrfabpabnboifdfs. Faa um programa que receba como
entrada uma mensagem e um valor de J e retorne a mensagem criptografada
pelo cdigo de Csar. Fraquezas: apenas 26 chaves possveis. possvel utilizar
conhecimento da linguagem para facilitar a busca.
Array
20) Pode-se calcular a rea de um polgono a partir das coordenadas de seus vrtices
utilizando a seguinte frmula:
Area = soma (X(n)*Y(n+1) X(n)*Y(n-1)) / 2
sendo que:
p/ n = 1, n-1 = N (nmero de vrtices)
p/ n = N, n+1 = 1
Escrever um programa em Java que:
21) Foi feita uma estatstica nas 200 principais cidades brasileiras para coletar dados
sobre acidentes de trnsito. Foram obtidos os seguintes dados:
cdigo da cidade
estado (RS, SC, PR, SP, RJ, ...)
nmero de veculos de passeio (em 2007)
nmero de acidentes de trnsito com vtimas (em 2007)
Escrever um programa em Java para obter os dados e mostrar:
25) A distncia entre vrias cidades dada pela tabela abaixo (em km):
1
2
3
4
5
1
00
15
30
05
12
2
15
00
10
17
28
3
30
10
00
03
11
4
05
17
03
00
80
5
12
28
11
80
00
28) Fazer um programa para calcular a matriz transposta de uma matriz quadrada,
fornecida pelo usurio. O programa deve pedir o valor N da dimenso
horizontal e vertical e em seguida os NxN valores da matriz.
Fonte:http://eden.dei.uc.pt/~inf/Fichas/Exercicios_Java_2.pdf
29) Escreva um programa para:
pedir 10 nmeros ao usurio e armazenar esses valores em um array
Excees
30) Dado o trecho de cdigo abaixo:
int[] array = new int[] { 2, 4, 6, 8, 10, 12 };
for (int i = 0; i <= 12; i++) {
System.out.println(array[i]);
}
Fluxos e arquivos
32) Fazer um programa em Java que:
Receba o nome, o cdigo e as duas notas bimestrais de 3 alunos para uma
determinada matria.
Salve estes dados em um arquivo. Os dados devem ser salvos registro a
registro, obedecendo o seguinte formato:
i. nmero inteiro contendo o tamanho em char do nome do aluno.
ii. sequncia de chars correspondente string que contm o nome do
aluno.
iii. cdigo na forma de nmero inteiro
iv. duas notas na forma de nmeros inteiros.
Fazer um programa em Java para:
ler os dados contidos no arquivo gerado pelo programa anterior
calcular e mostrar: quais alunos foram aprovados, quais foram para exame,
quais foram reprovados e a mdia da turma.
Orientao a Objetos
Bsico
45) Criar a classe Pessoa com as seguintes caractersticas:
atributos: idade e dia, ms e ano de nascimento, nome da pessoa
mtodos:
o calculaIdade(), que recebe a data atual em dias, ms e anos e calcula e
armazena no atributo idade a idade atual da pessoa, sem retornar valor
o getIdade(), que retorna o valor da idade
o getNome(), que retorna o nome da pessoa
o setNome(), que recebe o nome da pessoa como parmetro e inicializa o
atributo da classe
o setDataDeNascimento(), que recebe dia, ms e ano de nascimento
como parmetros e preenche nos atributos correspondentes do objeto.
Fazer uma classe principal que crie dois objetos da classe Pessoa, um
representando Albert Einstein (nascido em 14/3/1879) e o outro representando
Isaac Newton (nascido em 4/1/1643). Em seguida, mostre quais seriam as
idades de Einstein e Newton caso estivessem vivos.
46) Alterar o programa do exerccio anterior para substituir o mtodo
setDataDeNascimento e o mtodo setNome por uma construtora
47) Implementar a classe PolReg, que define um polgono regular
Fonte:http://www.bernhard.pro.br/disciplinas/java/ensino/java-L01.pdf
Uma classe chamada Universidade que ter como atributo um nome e ter um
mtodo para informar o seu nome.
Relacionar a classe Pessoa para com a classe Universidade. Cada pessoa poder
ser associada a uma Universidade.
A classe Pessoa, por sua vez, ter um mtodo que dir seu nome e em que
universidade trabalha.
Criar dois objetos da classe Pessoa, um representando Albert Einstein (nascido
em 14/3/1879) e o outro representando Isaac Newton (nascido em 4/1/1643)
Criar dois objetos de Universidade, associando um para Einstein e outro para
Newton.
Einstein trabalhou como professor de fsica em Princeton (Nova Jersey Estados Unidos da Amrica).
Newton trabalhou como professor de matemtica em Cambridge
(Inglaterra).
dois atributos do tipo inteiro: primeira nota parcial (de 0 a 100) e Segunda
nota parcial (de 0 a 100)
um atributo String representando o nome do aluno
Herana e polimorfismo
58) Implementar a classe PolReg, que define um polgono regular
Atributos: nmero de lados, tamanho do lado
Mtodos: clculo do permetro, clculo do ngulo interno e clculo de rea.
Este ltimo deve retornar o valor zero, dado que no possvel calcular a rea
de um polgono regular genrico
Construtora que inicializa os valores dos atributos
Fazer a classe TrianguloEqderivada de PolReg, que:
redefine o mtodo de clculo de rea para calcular e retornar a rea do
tringulo equiltero
Fazer a classe Quadrado, tambm derivada de PolReg, que:
redefine o mtodo de clculo de rea para calcular e retornar a rea do
quadrado
61) Alterar o exerccio sobre polgonos regulares, tringulos e quadrados para que a
classe PolReg no apresente uma definio para o mtodo de clculo de rea; ou
seja, a classe PolReg deve ser transformada em uma classe abstrata
62) Crie uma classe para representar uma conta-corrente, com mtodos para
depositar uma quantia, sacar uma quantia e obter o saldo. Para cada saque ser
debitada tambm uma taxa de operao equivalente 0,5% do valor sacado.
Crie, em seguida, uma classe derivadas desta classe anterior para representar
uma conta-corrente de um cliente especial. Clientes especiais pagam taxas de
operao de apenas 0,1% do valor sacado. Faa testes com as duas classes e
verifique seus resultados.
Fonte:http://74.125.47.132/search?
q=cache:uMJJLyJh1CwJ:www.disi.unitn.it/~vitorsouza/sites/default/files/JavaS
wingBDExerciciosRevisao.pdf+exerc%C3%ADcios+java&cd=20&hl=ptBR&ct=clnk&client=opera
Estruturas de dados
63) Fazer uma classe Empregado , com atributos nome, cpf, e salario. Escrever uma
classe principal que:
instancia um array de 5 empregados
pede os dados, instancia os objetos e armazena no array
classifica pelo salrio utilizando bubble-sort.
pede ao usurio um cpf a ser removido, efetua a operao e mostra o array
resultante.
64) Fazer uma classe ListNode que represente os ns de uma lista encadeada. Esta
classe deve conter o campo nome e uma referncia para o prximo n da lista
chamada prox.
Fazer ento a classe ListOperation que implementa os seguintes mtodos:
add(ListNode n, ListNode ant) adiciona o n n aps o n ant (no incio
se ant for 0).
remove(ListNode n) remove o n n da lista.
print() percorre a lista e mostra o valor do campo nome de cada n.
Fazer uma classe principal que exercita as operaes acima implementadas.
Tentar efetuar as mesmas operaes utilizando LinkedList e comparar o
desempenho.
Exerccios de integrao
Matemtica
66) Fazer um programa para:
Instanciar um Jframe com uma rea de desenho, uma combo box, cinco caixas de
texto e um boto desenhar.
Implementar a classe Funcoes, a qual contm diversos mtodos que implementam
funes polinomiais (f1, f2 e f3). Exemplos para estas funes:
double f1(double x) - retorna o valor de x^2
double f2(double x) - retorna o valor de x^3+ 3x^2
A classe Funcoes deve tambm implementar a funo polinomio, que recebe os
coeficientes dos diversos graus do polinmio (c1, c2, etc.) e retorna o resultado da
funo:
double polinomio(float c0, float c1, float c2, float c3, float c4, float x) retorna o
valor de c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4
O combo box do frame deve conter as opes para se selecionar f1, f2, f3 e
polinomio. Caso se selecione polinomio, as caixas de texto devem ser
habilitadas para receber os valores de c0 a c4.
Ao clicar-se no boto desenhar, o programa simula valores de x de -100 a
100 e plota o grfico correspondente a partir do retorno da funo selecionada.
(Opcional) incluir caixas de texto extra para inserir o valor inicial, o valor
final de x e o incremento entre valores. Calcular a escala do grfico
automaticamente.
67) Fazer um programa para efetuar operaes comuns de vetor. O programa possui
as seguintes caractersticas:
item de menu adicionar vetor, no qual o usurio insere um nome para o
vetor e dimenses x e y (vetores bidimensionais). Os vetores adicionados
devem ser exibidos numa rea de desenho.
2315
1 -2 8 9
4 1 3 -2
o programa deve abrir o arquivo, obter os coeficientes e utilizar as tcnicas de
lgebra (clculo de determinante, etc.) para solucionar os valores das
incgnitas. Deve ser possvel solucionar sistemas de at 10 incgnitas.
Clculo
69) Fazer um programa em Java para calcular, simulando valores de x, o limite de
uma determinada funo f(x). Os valores de x devem se aproximar
progressivamente do valor de tendncia, direita e esquerda, de tal forma que
se possa determinar o valor do limite atravs da anlise da variao dos valores.
Fsica
70) Fazer um programa para mostrar a variao da posio de um corpo qualquer
em queda livre na atmosfera, considerando a resistncia do ar. Esta variao
deve ser calculada de 2 formas:
t
v
y vt (t t (1 e vt ))
g
1
m g n
vt (
)
b
b
a g ( ) vn
m
a0 t 2
2
73) Um corpo se move sobre uma reta e duplica sua velocidade, a cada segundo,
durante os primeiros 10s. Seja 2 m/s a velocidade inicial. Qual a velocidade
mdia nos primeiros 10s? Responda a essa pergunta elaborando um programa
em Java que simula a variao da velocidade e o deslocamento do corpo, com
intervalos de tempo variando entre 1 s e 0,1 s. Avalie os resultados obtidos
frente ao resultado analtico (obtido atravs da integrao).
area = tamlado*tamlado*numlados/(4*tan(pi/numlados))