Buscar

UVA AVA1 DE POO I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

TRABALHO DE PROGRAMAÇÃO ORIENTADA A OBJETOS I
Nome: Juliana Tavares
Curso: Sistema de Informações
CAMPUS: Tijuca
Objetivo:
Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções
O uso de vetores e matrizes de objetos pode facilitar muito o desenvolvimento de determinados projetos, facilitando o desenvolvimento, diminuindo a complexidade e favorecendo a manutenção do sistema.
Dadas as classes a seguir, crie uma superclasse para atender às necessidades das subclasses, com todas as funcionalidades comuns às classes similares. Crie também uma aplicação que gere, por meio de um vetor único com dez objetos de cada tipo, utilizando sempre o construtor vazio. Utilize o tratamento de exceções para proteger a aplicação contra possíveis entradas de dados inválida com os métodos da classe Scanner.
Classes:
	 Classe
	Atributos
	Métodos
	 Aviao
	Prefixo : Texto
CapacidadeTanque : inteiro
NumeroPassageiros : inteiro
Preco : real
DataRevisao : Texto
	· Acesso (setters e getters).
· Construtores: pelo menos dois métodos construtores.
· imprimir(): exibe os dados do objeto.
. entrada(): realiza a entrada de dados pelo teclado
· reajustarPreco(percentual : real): reajusta o preço do avião, alterando o valor do atributo de acordo com o percentual passado como parâmetro.
 
	 Navio
	Nome : Texto
CapacidadeTanque : inteiro
NumeroPassageiros : inteiro
NumeroTripulantes : inteiro
Preco : real
DataLancamento : Texto
	· Acesso (setters e getters).
· Construtores: pelo menos cinco métodos construtores.
· imprimir(): exibe os dados do objeto.
· entrada(): realiza a entrada de dados pelo teclado
· passageirosPorTripulantes(): retorna a divisão do número de passageiros pelo número de tripulantes. Os valores usados nesse método são atributos, por isso não precisam ser passados como parâmetros.
	Observações:
1. A superclasse deverá possuir dois métodos construtores também.
2. Apenas atributos com o mesmo nome e do mesmo tipo podem ser considerados similares para a herança.
3. Os atributos devem ser protegidos contra acesso direto.
Monte o diagrama de hierarquia das classes e defina onde ficará cada atributo após a aplicação do conceito de herança. Após a determinação da hierarquia, desenvolva separadamente as classes (incluindo a classe de aplicação). O projeto deve então ser documentado em um arquivo do Word e postado no ambiente de avaliação.
Desenvolvimento:
-SuperClasse/Classe Raiz 
package ava2poo; 
import java.util.Scanner; 
public class superClasse ( 
/lAtributos 
private int capacidadedetanque; 
private int numeropassageiros; 
private float preco; 
Scanner sc = new Scanner(System.in); 
/IMetodos 
/IMetodos-set 
public void setcapacidadeTanque(int ct) ( 
this.capacidadedetanque = ct; 
) 
public void setnumeroPassageiros(int np) ( 
this.numeropassageiros = np; 
) 
public void setpreco(float p) ( 
this.preco = p; 
) /|Metodos-get 
public int getcapacidadeTanque() ( 
return this.capacidadedetanque;
) 
public int getnumeroPassageiros() ( 
return this.numeropassageiros; 
) 
public float getpreco() ( 
return this.preco; 
) 
public void EntradaCapacidadeTanque() ( 
System.out.print("Capacidade do tanque: "); 
setcapacidadeTanque(Integer.parselnt(sc.nextLine())); 
) 
public void EntradanumeroPassageiros() ( 
System.out.print("Numero de Passageiros: "); 
setnumeroPassageiros(Integer.parselnt(sc.nextLine())); 
) public void EntradaPreco() ( 
System.out.print("Preço: "); 
setpreco(Float.parseFloat(sc.nextLine())); 
) 
public void Cadastrar() ( 
EntradaCapacidadeTanque(); 
EntradanumeroPassageiros(); 
EntradaPreco(); 
) 
public void Imprimir() ( 
System.out.print("Capacidade do tanque: " + getcapacidadeTanque() + "n"); 
System.out.print("NumeroPassageiros: " + getnumeroPassageiros() + "n"); 
System.out.print("Preço: " + getpreco() + "n"); 
) 
Classe Avião/filha 
package ava2poo; 
import java.util.Scanner; 
public class aviao extends superClasse ( 
/lAtributos 
private String prefixo; 
private String datarevisao; 
/IMetodos 
/IMetodos-set 
public void setprefixo(String p) ( 
this.prefixo = p; 
) 
public void setdataRevisao(String d) ( 
this.datarevisao = d; 
) /|Metodos-get
public String getprefixo() ( 
return this.prefixo; 
) public String getdataRevisao() ( 
return this.datarevisao; 
public void reajustapreco() ( 
String reajustar; 
String teste = "s"; 
float reajuste; 
System.out.printin("Deseja reajustar o preço? digite s para continuar"); 
reajustar = sc.nextLine(); 
if (teste.equals(reajustar)) ( 
System.out.print("Digite o valor percentual para ajustar o preço, exemplo 20 para 
20% de reajuste: "); 
reajuste = Float.parseFloat(sc.nextLine()); 
System.out.print("Preço Reajustado: " + (getpreco() * ((reajuste / 100) + 1)) +" 
nº); ) 
j 
public void EntradaPrefixo() ( 
System.out.print("Digite o prefixo: "); 
setprefixo(sc.nextLine()); 
j 
public void EntradadataRevisao() ( 
System.out.print("Digite a data de Revisão: "); 
setdataRevisao(sc.nextLine()); 
j 
public void Cadastrar() ( 
super.Cadastrar(); 
EntradadadataRevisao(); 
EntradaPrefixo(); 
j 
public void Imprimir() ( 
super.Imprimir(); 
getprefixo(); 
getdataRevisao(); 
reajustapreco(); 
) ) Classe Navio/Filha 
package ava2poo; 
import java.util.Scanner; 
public class navio extends superClasse ( 
/lAtributos 
private String nome;
private int numerotripulantes; 
private String datalancamento; 
/IMetodo 
/IMetodos-set 
public void setnome(String no) ( 
this.nome = no; 
) 
public void setnumeroTripulantes(int nt) ( 
this.numerotripulantes = nt; 
public void setdataLancamento(String d) ( 
this.datalancamento = d; 
) 
/|Metodos-get 
public String getnome() ( 
return this.nome; 
) 
public int getnumeroTripulantes() ( 
return this.numerotripulantes; 
) public String getdataLancamento() ( 
return this.datalancamento; 
) 
public void passageirosportripulante() ( 
int passag = getnumeroPassageiros(); 
int tripu = getnumeroTripulantes(); 
float razao = (passag / tripu); 
if (passag >= tripu ) ( 
System.out.printin("numero de passageiros x tripulantes = " + razao ); 
kelse ( 
System.out.printin("numero de tripulantes é maior do que o de passageiros "); 
) ) 
public void EntradaNumerodeTripulantes() ( 
System.out.print("Numero de Tripulantes: "); 
setnumeroTripulantes(Integer.parselnt(sc.nextLine())); 
) 
public void Cadastrar() ( 
Scanner sc = new Scanner(System.in); 
super.Cadastrar(); 
EntradaNumerodeTripulantes(); 
) 
public void Imprimir() ( 
super.Imprimir(); 
System.out.print("Numero de Tripulantes: " + getnumeroTripulantes() + "n"); 
passageirosportripulante();
) ) 
Classe de Aplicação 
package ava2poo; 
public class aplicacao ( 
public static void main(Stringl] args) ( 
aviao vetAviao[] = new aviao[10]; //recriar como vetores 
for (int i = O; i < vetAviao.length; i++) ( 
vetAviao[i] = new aviao(); 
System.out.printin("------ Insira os Dados do " + (i+ 1) + "º Avião --—— 5; 
vetAviaoi].Cadastrar(); 
System.out.printin("------ Listagem dos Dados do " + (i+ 1) + "º Avião ---—- 5; 
vetAviaofi].Imprimir(); 
) 
navio vetNavio[] = new navio[10]; //recriar como vetores 
System.out.printin("------ Dados do Navio ------ 5; 
for (int i = O; i < vetNavio.length; i++) ( 
vetNavio[i] = new navio(); 
System.out.printin("------ Insira os Dados do " + (i+ 1) + "º Navio --—-—- 5; 
vetNavioli].Cadastrar(); 
System.out.printin("------ Listagem dos Dados do " + (i+ 1) +"º Navio --—— 5: 
vetNavio[i].Imprimir(); 
) ) ) Apresentação dos resultados dos testes realizados 
com o projeto. 
run: 
==———— Insira os Dados do 1º Avião ------ 
Capacidade do tanque: 300 
Numero de Passageiros: 500 
Preço: 500 
Digite a data de Revisão: 21/12/2020 
Digite o prefixo: HH123 
==———— Listagem dos Dados do 1º Avião ----—- 
Capacidade do tanque: 300 
NumeroPassageiros: 500 
Preço: 500.0 
Deseja reajustar o preço? digite s para continuar 
==———— Insira os Dados do 2º Avião ------ 
Capacidade do tanque: 600 
Numero de Passageiros: 800 
Preço: 100 
Digite a data de Revisão: 11/11/2011 
Digite o prefixo: TT1000
==———— Listagem dos Dados do 2ºAvião ------ 
Capacidade do tanque: 600 
NumeroPassageiros: 800 
Preço: 100.0 
Deseja reajustar o preço? digite s para continuar 
s 
Digite o valor percentual para ajustar o preço, exemplo 20 para 20% de reajuste: 
120 
Preço Reajustado: 220.0 
==———— Insira os Dados do 3º Avião ------ 
Capacidade do tanque: 600 
Numero de Passageiros: 2 
Preço: 1000 
Digite a data de Revisão: 01/01/2099 
Digite o prefixo: GG33 
==———— Listagem dos Dados do 3º Avião ----—- 
Capacidade do tanque: 600 
NumeroPassageiros: 2 
Preço: 1000.0 
Deseja reajustar o preço? digite s para continuar 
s 
Digite o valor percentual para ajustar o preço, exemplo 20 para 20% de reajuste: 
1 
Preço Reajustado: 1010.0 
==———— Insira os Dados do 4º Avião ------ 
Capacidade do tanque: 500 
Numero de Passageiros: 300 
Preço: 100 
Digite a data de Revisão: 01/01/2020 
Digite o prefixo: 11200 
==———— Listagem dos Dados do 4º Avião ------ 
Capacidade do tanque: 500 
NumeroPassageiros: 300 
Preço: 100.0 
Deseja reajustar o preço? digite s para continuar 
s 
Digite o valor percentual para ajustar o preço, exemplo 20 para 20% de reajuste: 
20 
Preço Reajustado: 120.00001 
==———— Insira os Dados do 5º Avião ------ 
Capacidade do tanque: 300 
Numero de Passageiros: 2 
Preço: 20 
Digite a data de Revisão: 01/01/3000 
Digite o prefixo: YY222 
==———— Listagem dos Dados do 5º Avião ----—-
Capacidade do tanque: 300 
NumeroPassageiros: 2 
Preço: 20.0 
Deseja reajustar o preço? digite s para continuar 
==———— Insira os Dados do 6º Avião ------ 
Capacidade do tanque: 333 
Numero de Passageiros: 222 
Preço: 200 
Digite a data de Revisão: 01/01/2111 
Digite o prefixo: FFVII 
==———— Listagem dos Dados do 6º Avião ------ 
Capacidade do tanque: 333 
NumeroPassageiros: 222 
Preço: 200.0 
Deseja reajustar o preço? digite s para continuar 
s 
Digite o valor percentual para ajustar o preço, exemplo 20 para 20% de reajuste: 
30 
Preço Reajustado: 260.0 
==———— Insira os Dados do 7º Avião ------ 
Capacidade do tanque: 500 
Numero de Passageiros: 133 
Preço: 600 
Digite a data de Revisão: 01/01/1500 
Digite o prefixo: PAC22 
==———— Listagem dos Dados do 7º Avião ----—- 
Capacidade do tanque: 500 
NumeroPassageiros: 133 
Preço: 600.0 
Deseja reajustar o preço? digite s para continuar 
==———— Insira os Dados do 8º Avião ------ 
Capacidade do tanque: 123 
Numero de Passageiros: 321 
Preço: 900 
Digite a data de Revisão: 21/01/2020 
Digite o prefixo: PP222 
==———— Listagem dos Dados do 8º Avião ------ 
Capacidade do tanque: 123 
NumeroPassageiros: 321 
Preço: 900.0 
Deseja reajustar o preço? digite s para continuar 
s 
Digite o valor percentual para ajustar o preço, exemplo 20 para 20% de reajuste: 
10
Preço Reajustado: 990.0 
==———— Insira os Dados do 9º Avião ------ 
Capacidade do tanque: 300 
Numero de Passageiros: 323 
Preço: 600 
Digite a data de Revisão: 01/01/2022 
Digite o prefixo: LL111 
==———— Listagem dos Dados do 9º Avião ------ 
Capacidade do tanque: 300 
NumeroPassageiros: 323 
Preço: 600.0 
Deseja reajustar o preço? digite s para continuar 
s 
Digite o valor percentual para ajustar o preço, exemplo 20 para 20% de reajuste: 
30 
Preço Reajustado: 780.0 
==———— Insira os Dados do 10º Avião ------ 
Capacidade do tanque: 777 
Numero de Passageiros: 444 
Preço: 700 
Digite a data de Revisão: 01/01/3000 
Digite o prefixo: UU321 
==———— Listagem dos Dados do 10º Avião ----- 
Capacidade do tanque: 777 
NumeroPassageiros: 444 
Preço: 700.0 
Deseja reajustar o preço? digite s para continuar 
s 
Digite o valor percentual para ajustar o preço, exemplo 20 para 20% de reajuste: 
50 
Preço Reajustado: 1050.0 
===——— Dados do Navio ------ 
==———— Insira os Dados do 1º Navio ------ 
Capacidade do tanque: 300 
Numero de Passageiros: 10 
Preço: 500 
Numero de Tripulantes: 2 
=-mmmm Listagem dos Dados do 1º Navio ------ 
Capacidade do tanque: 300 
NumeroPassageiros: 10 
Preço: 500.0 
Numero de Tripulantes: 2 
numero de passageiros x tripulantes = 5.0 
==———— Insira os Dados do 2º Navio ------ 
Capacidade do tanque: 600 
Numero de Passageiros: 200
Preço: 666 
Numero de Tripulantes: 3 
===——— Listagem dos Dados do 2º Navio ------ 
Capacidade do tanque: 600 
NumeroPassageiros: 200 
Preço: 666.0 
Numero de Tripulantes: 3 
numero de passageiros x tripulantes = 66.0 
==———— Insira os Dados do 3º Navio ------ 
Capacidade do tanque: 600 
Numero de Passageiros: 1000 
Preço: 664 
Numero de Tripulantes: 500 
===——— Listagem dos Dados do 3º Navio ------ 
Capacidade do tanque: 600 
NumeroPassageiros: 1000 
Preço: 664.0 
Numero de Tripulantes: 500 
numero de passageiros x tripulantes = 2.0 
==———— Insira os Dados do 4º Navio ------ 
Capacidade do tanque: 700 
Numero de Passageiros: 500 
Preço: 456 
Numero de Tripulantes: 200 
===——— Listagem dos Dados do 4º Navio ------ 
Capacidade do tanque: 700 
NumeroPassageiros: 500 
Preço: 456.0 
Numero de Tripulantes: 200 
numero de passageiros x tripulantes = 2.0 
==———— Insira os Dados do 5º Navio ------ 
Capacidade do tanque: 600 
Numero de Passageiros: 300 
Preço: 777 
Numero de Tripulantes: 300 
===——— Listagem dos Dados do 5º Navio ------ 
Capacidade do tanque: 600 
NumeroPassageiros: 300 
Preço: 777.0 
Numero de Tripulantes: 300 
numero de passageiros x tripulantes = 1.0 
==———— Insira os Dados do 6º Navio ------ 
Capacidade do tanque: 200 
Numero de Passageiros: 555 
Preço: 987 
Numero de Tripulantes: 1999
===——— Listagem dos Dados do 6º Navio ------ 
Capacidade do tanque: 200 
NumeroPassageiros: 555 
Preço: 987.0 
Numero de Tripulantes: 1999 
numero de tripulantes é maior do que o de passageiros 
==———— Insira os Dados do 7º Navio ------ 
Capacidade do tanque: 300 
Numero de Passageiros: 200 
Preço: 20 
Numero de Tripulantes: 10 
===——— Listagem dos Dados do 7º Navio ------ 
Capacidade do tanque: 300 
NumeroPassageiros: 200 
Preço: 20.0 
Numero de Tripulantes: 10 
numero de passageiros x tripulantes = 20.0 
==———— Insira os Dados do 8º Navio ------ 
Capacidade do tanque: 500 
Numero de Passageiros: 300 
Preço: 999 
Numero de Tripulantes: 200 
===——— Listagem dos Dados do 8º Navio ------ 
Capacidade do tanque: 500 
NumeroPassageiros: 300 
Preço: 999.0 
Numero de Tripulantes: 200 
numero de passageiros x tripulantes = 1.0 
==———— Insira os Dados do 9º Navio ------ 
Capacidade do tanque: 3000 
Numero de Passageiros: 4000 
Preço: 500 
Numero de Tripulantes: 200 
===——— Listagem dos Dados do 9º Navio ------ 
Capacidade do tanque: 3000 
NumeroPassageiros: 4000 
Preço: 500.0 
Numero de Tripulantes: 200 
numero de passageiros x tripulantes = 20.0 
==———— Insira os Dados do 10º Navio ------ 
Capacidade do tanque: 300 
Numero de Passageiros: 400 
Preço: 506 
Numero de Tripulantes: 200 
===——— Listagem dos Dados do 10º Navio ------ 
Capacidade do tanque: 300
NumeroPassageiros: 400
Preço: 506.0
Numero de Tripulantes: 200
Numero de passageiros x tripulantes = 2.0
CONTRUÍDO COM SUCESSO ( tempo total: 10 minutos e 12 segundos)
BIBLIOGRAFIA:
CURSO: Java COMPLETO Programação Orientada a Objetos +Projetos | Udemy

Continue navegando

Outros materiais