Professional Documents
Culture Documents
LPII - Atv 3
LPII - Atv 3
4. Usando duas instruções separadas, mostre como declarar um objeto de nome counter de
uma classe chamada MyCounter. Use uma classe Main.
MyCounter conter;
5. Mostre com um método chamado myMeth() será declarado se tiver um tipo de retorno
double e dois parâmetros int chamados de a e b.
Int a;
Int b;
Utilizando a instrução “return” o método retornará o valor.O valor não será retornado se o
retorno for do tipo void.
É o mecanismo usado para desalocar a memória não que não foi usada, limpando o
espaço consumido por objetos não utilizados.Para deslocar a memória,o coletor
rastreia os objetos que estão em uso e marca o restante como lixo.O método
finalize() é executao dentro de uma thread gerenciada pelo coletor e lixo.
12. Se um método não retornar um valor, qual deve ser o tipo de retorno?
13. Defina:
14. Quais são as restrições impostas pelos especificadores public, protected e private?
public: permite acesso a qualquer código externo a classe.
protected: permite acesso às classes filhas, mas proíbe a qualquer outro
acesso externo.
private: proíbe qualquer acesso externo à própria classe, inclusive das
classes filhas.
15. Dada a classe Quadrado a seguir, construa um programa que instancie um objeto
desse tipo, fazendo com que a medida do seu lado seja 1.5. Exiba também a área do
objeto criado, utilizando método area() definido na classe.
if (l < 0)
lado = 1; }
publicdoublearea() {
return lado*lado; }}
15. Modifique a classe Quadrado do exercício anterior de modo que possua um construtor e
outro parametrizado com o valor inicial do lado. Altere também o programa para utilizar o
novo construtor parametrizado.
16. Como nos exercícios anteriores, 14 e 15, crie uma classe que represente uma
circunferência por meio de seu raio. Escreva um programa que leia o valor de raio definido
pelo usuário, instancie um objeto desse tipo e exiba a área correspondente.
17. Implementar uma classe contendo apenas métodos estáticos capazes de realizar todas as
conversões de temperatura possíveis entre as unidades Celsius, Farenheit e Kelvin. São
conhecidas as relações de conversão seguintes: F = 9*C/5 + 32 e K = C+273
R:
package converterF;
import java.util.Scanner;
F = Double.parseDouble(entrada.nextLine());
R:
∆<0
x² - 4x + 5 = 0
∆ = b² - 4ac
∆ = (-4)² - 4*1*5
∆ = 16 – 20
∆=-4
∆=0
4x² - 4x + 1 = 0
∆ = b² - 4ac
∆ = (-4)² - 4*4*1
∆ = 16 – 16
∆=0
∆>0
x² - 5x + 6 = 0
∆ = b² - 4ac
∆ = (-5)² - 4*1*6
∆ = 25 - 24
∆=1
19. O programa a seguir estranhamente sempre escreve “A distância é:1.0” Identifique
onde está o defeito.
Por conta que o cálculo 1/2 é efetuado dom inteiros, e como em Java uma
operação com inteiros retorna um valor inteiro esse cálculo não dará 0,5 e sim 0,
fazendo com que todo resultado seja elevado a 0, retornando 1.0
20. Para cada produto informado (nome, preço e quantidade), escreva o nome do produto
comprado e o valor total a ser pago, considerando que são oferecidos descontos pelo número
de unidades compradas, segundo a tabela abaixo:
privateString nome;
privatefloatpreco;
privatedoubleprecototal;
privateint quantidade;
privatedouble desconto;
publicDesconto() {}
publicStringgetNome() {
return nome;
}
publicvoidsetNome(String nome) {
this.nome = nome;
}
publicfloatgetPreco() {
returnpreco;
}
publicvoidsetPreco(floatpreco) {
this.preco = preco;
}
publicintgetQuantidade() {
return quantidade;
}
publicvoidsetQuantidade(int quantidade) {
this.quantidade = quantidade;
}
publicdoublegetPrecototal() {
if (quantidade <=10) {
}
// preco * quantidade = valor total
elseif(quantidade <=50) {
return (this.preco * quantidade);
}
returnpreco;
}
publicvoidsetPrecototal(floatprecototal) {
this.precototal = preco * quantidade;
/*b. de 11 a 20 unidades: 10% de desconto
de 21 a 50 unidades: 20% de desconto
acima de 50 unidades: 25% de desconto*/
}
publicvoidstatus() {
System.out.println("Nome do produto: " + this.getNome());
System.out.println("Preço: R$ " + this.getPreco());
System.out.println(this.getQuantidade() + " quantidades");
System.out.println("Valor total " + this.getPrecototal() +
"R$");
System.out.println("Valor com desconto " + "È o valor total
menos * 0.2 mas desta maneira nao vai");
System.out.println("Desconto é de: R$" + this.getPrecototal()
* 0.1);
}
22. Calcule a série de Fibonacci para um número inteiro não negativo informado pelo usuário.
A série de Fibonacci inicia com os números F0 = 0 e F1 = 1, e cada número posterior equivale à
soma dos dois números anteriores (Fn = Fn-1 + Fn-2). Por exemplo, caso o usuário informe o
número 9, o resultado seria: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
R:package cap14;
publicclass Exercicio02 {
publicstaticvoidmain(String[] args){
System.out.println(num2);
System.out.println(num1);
System.out.println(num1);
system.out.println (4+4+4);
24. Calcule o retorno de um investimento financeiro fazendo as contas mês a mês. O usuário
deve informar quanto será investido por mês e qual será a taxa de juros mensal. O programa
deve informar o saldo do investimento após um ano (soma das aplicações mês a mês
considerando os juros compostos), e perguntar ao usuário se ele deseja que seja calculado o
ano seguinte, sucessivamente. Por exemplo, caso o usuário deseje investir R$ 100,00 por mês,
e tenha uma taxa de juros de 1% ao mês, o programa fornecerá a seguinte saída:
R:
public class Fibonacci {
int F = 0;
int ant = 0;
if (i == 1) { F = 1; ant = 0; }
else {
F += ant;
ant = F - ant;
}
}
return F;
R: publicclass Contato {
publicString nome;
publicString telefone;
this.nome = nome;
this.telefone = telefone;
this.endereco = endereco;
publicclass Agenda {
publicList<Contato> contatos;
publicvoidadicionar(Contato contato) {
contatos.add(contato);
publicclassMain {
publicstaticvoidmain(String[] args) {
agenda.adicionar(c1);
agenda.adicionar(c2);
agenda.adicionar(c3);
27. Faça um programa para controle de empréstimo de livros, com as classes Empréstimo,
Livro e Pessoa.