Buscar

Programação Orientada a Objetos AVA2 - Mateus Mureb

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 22 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 22 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 22 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

UNIVERSIDADE VEIGA DE ALMEIDA 
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
 
 
 
 
 
 
 
 
 
 
 
 
 
VETORES DE OBJETOS COM TRATAMENTO DE EXCEÇÕES 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Rio de Janeiro 
2022 
PROGRAMAÇÃO ORIENTADA A OBJETO I 
PROFESSOR: MARCO AURÉLIO NOVAES ESTEVES 
 
 
 
 
 
 
 
 
 
 
 
ALUNO: MATEUS MUREB DE MATTOS FERNANDES 
MATRÍCULA: 20212302076 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Rio de Janeiro 
2022 
INDÍCE 
 
1. INTRODUÇÃO ........................................................................................................................ 4 
2. CONTEÚDO ............................................................................................................................ 5 
2.1. Diagrama de Classe ....................................................................................................... 5 
2.2. Super Classe Veículos .................................................................................................... 5 
2.3. Subclasse Avião ............................................................................................................. 7 
2.4. Subclasse Navio ............................................................................................................. 9 
2.5. Classe de Aplicação ..................................................................................................... 11 
2.6. Resultados dos Testes ................................................................................................. 12 
3. CONCLUSÃO ........................................................................................................................ 21 
4. BIBLIOGRAFIA ...................................................................................................................... 22 
 
 
 
1. INTRODUÇÃO 
 
Dadas as classes Avião e Navio, será criado uma superclasse que atenda suas 
necessidades, com todas as funcionalidades comuns à essas classes que são 
similares. Será criado também uma aplicação que gera, por meio de um vetor 
único com dez objetos de cada tipo, utilizando sempre o construtor vazio. Será 
utilizado 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. 
Será montado o diagrama de hierarquia das classes e definido onde ficará cada 
atributo após a aplicação do conceito de herança. Após a determinação da 
hierarquia, as classes serão desenvolvidas separadamente (incluindo a classe 
de aplicação). 
 
2. CONTEÚDO 
 
2.1. Diagrama de Classe 
 
 
 
2.2. Super Classe Veículos 
 
package AVA2POO; 
import java.util.Scanner; 
public class veiculos { 
//Atributos 
private int capacidadedetanque; 
private int numeropassageiros; 
private float preco; 
Scanner sc = new Scanner(System.in); 
//Metodos 
//Setters 
public void setcapacidadeTanque(int ct) { 
this.capacidadedetanque = ct; 
} 
public void setnumeroPassageiros(int np) { 
this.numeropassageiros = np; 
} 
public void setpreco(float p) { 
this.preco = p; 
} 
//Getters 
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"); 
} 
} 
 
2.3. Subclasse Avião 
 
package AVA2POO; 
import java.util.Scanner; 
public class aviao extends veiculos { 
//Atributos 
private String prefixo; 
private String datarevisao; 
//Metodos 
//Setters 
public void setprefixo(String p) { 
this.prefixo = p; 
} 
public void setdataRevisao(String d) { 
this.datarevisao = d; 
} 
//Getters 
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(); 
} 
} 
 
2.4. Subclasse Navio 
 
package AVA2POO; 
import java.util.Scanner; 
public class navio extends veiculos { 
//Atributos 
private String nome; 
private int numerotripulantes; 
private String datalancamento; 
//Metodos 
//Setters 
public void setnome(String no) { 
this.nome = no; 
} 
public void setnumeroTripulantes(int nt) { 
this.numerotripulantes = nt; 
} 
public void setdataLancamento(String d) { 
this.datalancamento = d; 
} 
//Getters 
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(); 
} 
} 
 
2.5. 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(); 
} 
} 
} 
2.6. Resultados dos Testes 
 
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 
Capacidadedo 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/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 
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 
 
3. CONCLUSÃO 
 
O uso de Superclasses e Subclasses de objetos pode facilitar muito o 
desenvolvimento de determinados projetos, diminuindo a complexidade e 
favorecendo a manutenção do sistema. 
Já que é muito mais simples fazer uma troca uma vez só do que ter que fazer 
para todos os objetos afetados. Também facilita a visualização e entendimento 
do programa. 
 
4. BIBLIOGRAFIA 
 
E-book da disciplina - PROGRAMAÇÃO ORIENTADA A OBJETOS I 
Curso de Programação em Java - Bóson Treinamentos: 
https://www.youtube.com/playlist?list=PLucm8g_ezqNrQmqtO0qmew8sKXEEc
aHvc 
https://www.youtube.com/playlist?list=PLucm8g_ezqNrQmqtO0qmew8sKXEEcaHvc
https://www.youtube.com/playlist?list=PLucm8g_ezqNrQmqtO0qmew8sKXEEcaHvc

Continue navegando