Logo Passei Direto
Buscar
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 
Graduação de Análise e Desenvolvimento de Sistema 
 
 
 
 
Aluno: Miguel Arcanjo Bomfim Barbosa 
Matrícula: 1240200188 
Disciplina: LINGUAGEM DE PROGRAMAÇÃO II (E90100024) 
Tutor: Marcos Aurelio Novaes Esteves 
 
 
PROJETO JAVA ORIENTAÇÃO A OBJETO 
 
 
 
 
 
 
Rio de janeiro/RJ 
 2025 
 
ÍNDICE 
1. Introdução ............................................................................................ 3 
 
2. Hierarquia das classes ...................................................................... 4 
 
3. Implementação da Classe principal ................................................. 5 
 
4. Implementação das subclasses ...................................................... 8 
5. Classe principal Main ..................................................................... 11 
6. Resultado ........................................................................................ 13 
7. Conclusão ....................................................................................... 21 
8. Referências (Webgrafia) ................................................................. 22 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Introdução 
 
Este projeto é construído a partir da implementação de vetores de objetos em Java), 
incluindo herança e encapsulamento. Além disso, é realizado o tratamento de 
exceções para garantir a entrada de dados de forma mais segura. 
O projeto consiste na criação de uma superclasse chamada VeiculoTransporte e 
duas subclasses respectivamentes chamadas de Aviao e Navio. A aplicação 
principal controla um vetor de objetos dessas classes e exibe os resultados. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Hierarquia das classes 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Conteúdo 
Superclasse VeiculoTransporte 
 
package veiculotransporte; 
import java.util.Scanner; 
public class VeiculoTransporte { 
 protected String prefixo; 
 protected int capacidadeTanque; 
 protected int numeroPassageiros; 
 protected double preco; 
 public VeiculoTransporte() {} 
 public VeiculoTransporte(String prefixo, int capacidadeTanque, int 
numeroPassageiros, double preco) { 
 this.prefixo = prefixo; 
 this.capacidadeTanque = capacidadeTanque; 
 this.numeroPassageiros = numeroPassageiros; 
 this.preco = preco; 
 } 
 
 
 
 
 
 public void input(Scanner scanner) { 
 try { 
 System.out.print("Prefixo: "); 
 this.prefixo = scanner.nextLine(); 
 System.out.print("Capacidade do tanque: "); 
 this.capacidadeTanque = scanner.nextInt(); 
 System.out.print("Numero de passageiros: "); 
 this.numeroPassageiros = scanner.nextInt(); 
 System.out.print("Preco: "); 
 this.preco = scanner.nextDouble(); 
 } catch (Exception e) { 
 System.out.println("Entrada de dados invalida. Tente novamente"); 
 scanner.nextLine(); 
 input(scanner); 
 } 
 } 
 public void exibir() { 
 System.out.println("Prefixo: " + prefixo); 
 System.out.println("Capacidade do Tanque: " + capacidadeTanque); 
 System.out.println("Numero de Passageiros: " + numeroPassageiros); 
 System.out.println("Preco: " + preco); } 
 
 
 public void reajustarPreco(double percentual) { 
 preco += preco * (percentual / 100); 
 } 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Subclasse Aviao 
package veiculotransporte; 
import java.util.Scanner; 
// Subclasse Aviao 
public class Aviao extends VeiculoTransporte { 
 private String dataRevisao; 
 public Aviao() {} 
 public Aviao(String prefixo, int capacidadeTanque, int numeroPassageiros, double 
preco, String dataRevisao) { 
 super(prefixo, capacidadeTanque, numeroPassageiros, preco); 
 this.dataRevisao = dataRevisao; 
 } 
 public void input(Scanner scanner) { 
 super.input(scanner); 
 scanner.nextLine(); 
 System.out.print("Data de Revisao: "); 
 this.dataRevisao = scanner.nextLine(); 
 } 
 public void exibir() { 
 super.exibir(); 
 System.out.println("Data de Revisao: " + dataRevisao); } 
} 
 
Subclasse Navio 
package veiculotransporte; 
import java.util.Scanner; 
// Subclasse Navio 
public class Navio extends VeiculoTransporte { 
 private int numeroTripulantes; 
 private String dataLancamento; 
 public Navio() {} 
 public Navio(String prefixo, int capacidadeTanque, int numeroPassageiros, double 
preco, int numeroTripulantes, String dataLancamento) { 
 super(prefixo, capacidadeTanque, numeroPassageiros, preco); 
 this.numeroTripulantes = numeroTripulantes; 
 this.dataLancamento = dataLancamento; 
 } 
 public void input(Scanner scanner) { 
 super.input(scanner); 
 try { 
 System.out.print("Numero de Tripulantes: "); 
 this.numeroTripulantes = scanner.nextInt(); 
 scanner.nextLine(); 
 System.out.print("Data de Lancamento: "); 
 this.dataLancamento = scanner.nextLine(); } 
 
catch (Exception e) { 
 System.out.println("Entrada de dados invalida. Tente novamente"); 
 scanner.nextLine(); 
 input(scanner); 
 } 
 } 
 
 public void exibir() { 
 super.exibir(); 
 System.out.println("Numero de Tripulantes: " + numeroTripulantes); 
 System.out.println("Data de Lancamento: " + dataLancamento); 
 } 
 
 public double passageirosPorTripulantes() { 
 return (double) numeroPassageiros / numeroTripulantes; 
 } 
} 
 
 
 
 
 
Classe principal Main 
 
package veiculotransporte; 
import java.util.Scanner; 
 
public class MainClass { 
 
 public class Main { 
 public static void main(String[] args) { 
 
 Scanner scanner = new Scanner(System.in); 
 
 VeiculoTransporte[] transportes = new VeiculoTransporte[20]; 
 
 for (int a = 0; aPrefixo: 1234 
Capacidade do tanque: 1234 
Numero de passageiros: 1234 
Preco: 1234 
Data de Revisao: 1234 
 
Prefixo: 1234 
Capacidade do tanque: 1234 
Numero de passageiros: 1234 
Preco: 1234 
Data de Revisao: 1234 
 
Prefixo: 1234 
Capacidade do tanque: 1234 
Numero de passageiros: 1234 
Preco: 12234 
Data de Revisao: 1234 
 
 
 
 
 
 
Prefixo: Nav907 
Capacidade do tanque: 1200 
Numero de passageiros: 200 
Preco: 157 
Numero de Tripulantes: 120 
Data de Lancamento: 06/06/2006 
 
Prefixo: Nav868 
Capacidade do tanque: 8000 
Numero de passageiros: 2640 
Preco: 486 
Numero de Tripulantes: 980 
Data de Lancamento: 20/02/2020 
 
Prefixo: Nav546 
Capacidade do tanque: 3700 
Numero de passageiros: 1100 
Preco: 60 
Numero de Tripulantes: 400 
Data de Lancamento: 14/03/2021 
 
Prefixo: Nav134 
Capacidade do tanque: 123 
Numero de passageiros: 123 
Preco: 123 
Numero de Tripulantes: 123 
Data de Lancamento: 132 
 
Prefixo: Nav321 
Capacidade do tanque: 321 
Numero de passageiros: 321 
Preco: 321 
Numero de Tripulantes: 321 
Data de Lancamento: 321 
 
Prefixo: 312 
Capacidade do tanque: 312 
Numero de passageiros: 321 
Preco: 312 
Numero de Tripulantes: 312 
Data de Lancamento: 312 
 
Prefixo: 312 
Capacidade do tanque: 312 
Numero de passageiros: 321 
Preco: 312 
Numero de Tripulantes: 321 
Data de Lancamento: 312 
 
Prefixo: 321 
Capacidade do tanque: 321 
Numero de passageiros: 321 
Preco: 321 
Numero de Tripulantes: 321 
Data de Lancamento: 321 
 
Prefixo: 321 
Capacidade do tanque: 321 
Numero de passageiros: 321 
Preco: 321 
Numero de Tripulantes: 312 
Data de Lancamento: 312 
 
Prefixo: 321 
Capacidade do tanque: 321 
Numero de passageiros: 321 
Preco: 321 
Numero de Tripulantes: 312 
Data de Lancamento: 321 
 
Saída 
 
Dados dos Transportes: 
 
Prefixo: Av401 
Capacidade do Tanque: 2000 
Numero de Passageiros: 809 
Preco: 366.68 
Data de Revisao: 19/12/2005 
---------------------- 
Prefixo: Av467 
Capacidade do Tanque: 900 
Numero de Passageiros: 765 
Preco: 494.40000000000003 
Data de Revisao: 06/11/2003 
---------------------- 
Prefixo: Av909 
Capacidade do Tanque: 2132 
Numero de Passageiros: 131 
Preco: 140.07999999999998 
Data de Revisao: 16/07/2012 
---------------------- 
Prefixo: Av534 
Capacidade do Tanque: 4344 
Numero de Passageiros: 444 
Preco: 407.88 
Data de Revisao: 09/12/1890 
---------------------- 
Prefixo: Av3245 
Capacidade do Tanque: 132 
Numero de Passageiros: 312 
Preco: 127.72 
Data de Revisao: 09/09/2004 
 
Prefixo: Av876 
Capacidade do Tanque: 566 
Numero de Passageiros: 324 
Preco: 403.76 
Data de Revisao: 29/05/2017 
---------------------- 
Prefixo: Av1234 
Capacidade do Tanque: 2311 
Numero de Passageiros: 1234 
Preco: 5084.08 
Data de Revisao: 1234 
---------------------- 
Prefixo: 1234 
Capacidade do Tanque: 1234 
Numero de Passageiros: 1234 
Preco: 5084.08 
Data de Revisao: 1234 
---------------------- 
Prefixo: 1234 
Capacidade do Tanque: 1234 
Numero de Passageiros: 1234 
Preco: 5084.08 
Data de Revisao: 1234 
---------------------- 
Prefixo: 1234 
Capacidade do Tanque: 1234 
Numero de Passageiros: 1234 
Preco: 50404.08 
Data de Revisao: 1234 
---------------------- 
 
 
 
Prefixo: Nav907 
 
Capacidade do Tanque: 1200 
Numero de Passageiros: 200 
Preco: 646.84 
Numero de Tripulantes: 120 
Data de Lancamento: 06/06/2006 
---------------------- 
Prefixo: Nav868 
Capacidade do Tanque: 8000 
Numero de Passageiros: 2640 
Preco: 2002.3200000000002 
Numero de Tripulantes: 980 
Data de Lancamento: 20/02/2020 
---------------------- 
Prefixo: Nav546 
Capacidade do Tanque: 3700 
Numero de Passageiros: 1100 
Preco: 247.20000000000002 
Numero de Tripulantes: 400 
Data de Lancamento: 14/03/2021 
---------------------- 
Prefixo: Nav134 
Capacidade do Tanque: 123 
Numero de Passageiros: 123 
Preco: 506.76 
Numero de Tripulantes: 123 
Data de Lancamento: 132 
---------------------- 
Prefixo: Nav321 
Capacidade do Tanque: 321 
Numero de Passageiros: 321 
Preco: 1322.52 
Numero de Tripulantes: 321 
Data de Lancamento: 321 
Prefixo: 312 
 
Capacidade do Tanque: 312 
Numero de Passageiros: 321 
Preco: 1285.44 
Numero de Tripulantes: 312 
Data de Lancamento: 312 
---------------------- 
Prefixo: 312 
Capacidade do Tanque: 312 
Numero de Passageiros: 321 
Preco: 1285.44 
Numero de Tripulantes: 321 
Data de Lancamento: 312 
---------------------- 
Prefixo: 321 
Capacidade do Tanque: 321 
Numero de Passageiros: 321 
Preco: 1322.52 
Numero de Tripulantes: 321 
Data de Lancamento: 321 
---------------------- 
Prefixo: 321 
Capacidade do Tanque: 321 
Numero de Passageiros: 321 
Preco: 1322.52 
Numero de Tripulantes: 312 
Data de Lancamento: 312 
---------------------- 
Prefixo: 321 
Capacidade do Tanque: 321 
Numero de Passageiros: 321 
Preco: 1322.52 
Numero de Tripulantes: 312 
Data de Lancamento: 321 
---------------------- 
 
Conclusão 
 
 
O projeto demonstrou a aplicação de heranças, vetores de objetos e tratamento de 
exceções em Java. A implementação permitiu a reutilização do código e a criação de 
um sistema flexível para representar diferentes tipos de veículos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Webgrafia 
 
 
W3schools. Java Tutorial. Disponível em: https://www.w3schools.com/java/. Acesso 
em: 01 abril 2025. 
 
CFBCursos. Criando primeiro programa em Java. Disponível em: 
https://www.youtube.com/watch?v=X8AnVQ-GqLU&list=PLx4x_zx8csUjFC5WWjoNU
L7LOOD7LCKRW&index=52. Acesso em: 01 abril 2025 
 
https://www.youtube.com/watch?v=X8AnVQ-GqLU&list=PLx4x_zx8csUjFC5WWjoNUL7LOOD7LCKRW&index=52
https://www.youtube.com/watch?v=X8AnVQ-GqLU&list=PLx4x_zx8csUjFC5WWjoNUL7LOOD7LCKRW&index=52
	ÍNDICE

Mais conteúdos dessa disciplina