Logo Passei Direto
Buscar

PROGRAMAÇÃO ORIENTADA A OBJETOS I

Trabalho de conclusão em Programação Orientada a Objetos: código e descrição de uma superclasse e subclasses (aviao, navio) com atributos, getters/setters, métodos de entrada/impressão e instrução para gerar vetores de 10 objetos e usar tratamento de exceções.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

UNIVERSIDADE VEIGA DE ALMEIDA (UVA)
GRADUAÇÃO EM SISTEMA DE INFORMAÇÃO
WILLIAM DE SOUZA CAMPOS CHAGAS
PROGRAMAÇÃO ORIENTADA A OBJETOS I
	
	 Campus: Polo Niterói - Região Oceânica – RJ
 2020
WILLIAM DE SOUZA CAMPOS CHAGAS
PROGRAMAÇÃO ORIENTADA A OBJETOS I
Trabalho de conclusão de curso apresentado a Universidade Veiga de Almeida como requisito para o recebimento de Graduação em Sistema de Informação, Avaliação 2
	
 Rio de Janeiro, 21 de setembro de 2020
 
Campus: Polo Niterói - Região Oceânica – RJ
2020
WILLIAM DE SOUZA CAMPOS CHAGAS
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, 10 objetos de cada tipo, utilizando sempre o construtor vazio. Utilize o tratamento de exceções para proteger a aplicação contra possíveis lançamentos de exceções com o uso de vetores de objetos. 
-SuperClasse/Classe Raiz
package ava2poo;
import java.util.Scanner;
public class superClasse {
//Atributos
private int capacidadedetanque;
private int numeropassageiros;
private float preco;
Scanner sc = new Scanner(System.in);
//Metodos
//Metodos-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.parseInt(sc.nextLine()));
}
public void EntradanumeroPassageiros() {
System.out.print("Numero de Passageiros: ");
setnumeroPassageiros(Integer.parseInt(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 {
//Atributos
private String prefixo;
private String datarevisao;
//Metodos
//Metodos-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.println("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");
}
}
public void EntradaPrefixo() {
System.out.print("Digite o prefixo: ");
setprefixo(sc.nextLine());
}
public void EntradadataRevisao() {
System.out.print("Digite a data de Revisão: ");
setdataRevisao(sc.nextLine());
}
public void Cadastrar() {
super.Cadastrar();
EntradadadataRevisao();
EntradaPrefixo();
}
public void Imprimir() {
super.Imprimir();
getprefixo();
getdataRevisao();
reajustapreco();
}
}
Classe Navio/Filha
package ava2poo;
import java.util.Scanner;
public class navio extends superClasse {
//Atributos
private String nome;
private int numerotripulantes;
private String datalancamento;
//Metodo
//Metodos-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.println("numero de passageiros x tripulantes = " + razao );
} else {
System.out.println("numero de tripulantes é maior do que o de passageiros ");
}
}
public void EntradaNumerodeTripulantes() {
System.out.print("Numero de Tripulantes: ");
setnumeroTripulantes(Integer.parseInt(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(String[] args) {
aviao vetAviao[] = new aviao[10]; //recriar como vetores
for (int i = 0; i < vetAviao.length; i++) {
vetAviao[i] = new aviao();
System.out.println("------ Insira os Dados do " + (i + 1) + "º Avião ------");
vetAviao[i].Cadastrar();
System.out.println("------ Listagem dos Dados do " + (i + 1) + "º Avião ------");
vetAviao[i].Imprimir();
}
navio vetNavio[] = new navio[10]; //recriar como vetores
System.out.println("------ Dados do Navio ------");
for (int i = 0; i < vetNavio.length; i++) {
vetNavio[i] = new navio();
System.out.println("------ Insira os Dados do " + (i + 1) + "º Navio ------");
vetNavio[i].Cadastrar();
System.out.println("------ Listagem dos Dados do " + (i + 1) + "º Navio ------");
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
n
------ 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: II200
------ 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/3000Digite 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
n
------ 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
n
------ 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
------ 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
CONSTRUÍDO COM SUCESSO (tempo total: 10 minutos 12 segundos)
BIBLIOGRAFIA
Video aulas utilizadas como base para desenvolvimento do código:
Video aula portal aluno veiga - Heranças https://player.vimeo.com/video/353609563
Video aula portal aluno veiga - vetores https://player.vimeo.com/video/353638797
Video Aula Criação de objetos - Gustavo Guababara
1 https://www.youtube.com/watch?v=aR7CKNFECx0
2 https://www.youtube.com/watch?v=wNaoX6VOj54
Video Aula Herança - Gustavo Guanabara
1 https://www.youtube.com/watch?v=_PZldwo0vVo&list=PLHz_AreHm4dkqe2aR0tQK74m8SFe-aGsY&index=20
2 https://www.youtube.com/watch?v=He887D2WGVw&list=PLHz_AreHm4dkqe2aR0tQK74m8SFe-aGsY&index=22
3 https://www.youtube.com/watch?v=19IGAeoFKlU&list=PLHz_AreHm4dkqe2aR0tQK74m8SFe-aGsY&index=21

Mais conteúdos dessa disciplina