You are on page 1of 9

Equipe:Matheus da Silva Fontes,Helly Angélica Morais e João

Carlos Zweibrucker Gomes.


1.Qual é a diferença entre uma classe e um objeto?

Uma classe é um modelo ou um planejamento e um objeto é a materialização da classe,ou


seja,um objeto com os atributos qualificados.

2. Como uma classe é definida?

São definidas através da utilização da palavra-chave “class”.Paradefini-las,é utilizado a


construção: [modif] class NomeDaClasse { // corpo da classe... } A primeira linha
será um comando que inicia a declaração da classe.

3. Cada objeto tem sua própria cópia de que?

Possuem suas cópias dos atributos de classe.

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;

Conter = new MyCounter();

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;

Double valor = myMeth(a,b);

6. Como um método deve retornar se um valor for retornado?

Utilizando a instrução “return” o método retornará o valor.O valor não será retornado se o
retorno for do tipo void.

7. Que nome tem um construtor?

O nome é definido pelo programador.

8. O que o new faz?

Cria uma nova instância de um tipo.

9. Oque é coleta de lixo e como ela funciona? O que é finalize() em Java?

É 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.

10. o que é this em um construtor?

Refere-se ao objeto atual que está chamando um método ou um construtor.

11. Um construtor pode ter um ou mais parâmetros?

Sim,desde que possuam assinaturas diferentes.

12. Se um método não retornar um valor, qual deve ser o tipo de retorno?

O retorno será do tipo void.

13. Defina:

● Abstração :É utilizada para a definição de entidades do mundo real. Sendo


onde são criadas as classes.

● Encapsulamento :É a técnica utilizada para esconder uma ideia, ou seja, não


expôr detalhes internos para o usuário, tornando partes do sistema mais
independentes possível.

● Associação :ela tem relaciomento entre classes, indica dependência estrutural


entre classes e faz o fluxo de dados onde pode ser unidirecional ou bidirecional.

● Agregação: Uma classe   é uma composição (ou agregação) de uma


classe   , se   contém objetos do tipo  .

● Composição:  Composições são blocos de construção críticos de muitas


estruturas de dados básicas, incluindo a união rotulada, lista ligada e árvore binária,
bem como o objeto utilizado em programação orientada a objetos.

● Herança :Na Programação Orientada a Objetos o significado de herança


tem o mesmo significado para o mundo real.

● Acoplamento e Pontos: é o grau de interdependência entre módulos de software,


uma medida de quão intimamente ligadas estão duas rotinas ou módulos a força das
relações entre módulos.

● Polimorfismo :Em linguagens orientadas a objetos, polimorfismo refere-se à


ligação tardia de uma chamada a uma ou várias diferentes implementações
de um método em uma hierarquia de herança.

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.

public class Quadrado {

private double lado;

public void setLado(double l) {

if (l < 0)

throw new RuntimeException("Lado inválido");

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;

public class celsius {

public static void main(String[] args) {

final double C, F; Scanner entrada = new Scanner(System.in);


System.out.println("Escreva a temperatura em Fahrenheit: ");

F = Double.parseDouble(entrada.nextLine());

C = (F - 32) * (5.0 % 9.0);

System.out.println("Essa temperatura convertida em Celsius equivale a: " + C);

18. Determine as raízes de uma equação do 2º grau 𝑎𝑥 2 + 𝑏𝑥 + 𝑐 = 0 (recordar que o


discriminante ∆ = 𝑏 e que a raiz 2 − 4𝑎𝑐𝑟 = − 𝑏 ). − + ∆ / 2𝑎

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:

● Até 10 unidades: valor total;

● de 11 a 20 unidades: 10% de desconto;

● de 21 a 50: 20% de desconto;

● acima de 50: 25% de desconto. 21.

R: vou enviar o código como bloco:

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) {

returnthis.precototal = preco * quantidade;


}
elseif (quantidade <=20) {
return (this.preco * quantidade );

}
// 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);
}

21) a) O programa correto é o B.

b) colocando a pergunta de informar ao código, e a declaração da variável código dentro do


while, não fora.

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){

int num1 = 1, num2 = 0;

System.out.println(num2);
System.out.println(num1);

for(int i = 0; i < 8; i++){

num1 = num1 + num2;

num2 = num1 - num2;

System.out.println(num1);

23. Determine a saída do seguinte programa.

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 {

static long fibo(int n) {

int F = 0;

int ant = 0;

for (int i = 1; i <= n; i++) {

if (i == 1) { F = 1; ant = 0; }

else {

F += ant;

ant = F - ant;

}
}

return F;

public static void main(String[] args) {

for (int i = 0; i < 30; i++) {

System.out.print("(" + i + "):" + Fibonacci.fibo(i) + "\t");

25. Identifique as classes e implemente um programa para a seguinte especificação: “O


supermercado vende diferentes tipos de produtos. Cada produto tem um preço e uma
quantidade em estoque. Um pedido de um cliente é composto de itens, onde cada item
especifica o produto que o cliente deseja e a respectiva quantidade. Esse pedido pode ser pago
em dinheiro, cheque ou cartão.”

26. Faça um programa de agenda telefônica, com as classes Agenda e Contato.

R: publicclass Contato {

publicString nome;

publicString telefone;

publicContato(String nome, String 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 agenda = new Agenda();

Contato c1 = new Contato("Fulano", "1234-5678", "");

Contato c2 = new Contato("Ciclano", "8765-4321", "");

Contato c3 = new Contato("Ninguem", "1212-2121", "");

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.

You might also like