Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aluno: Yuri de Lemos Antunes Ribeiro Matrícula: 20203301618 Curso de Sistemas de Informação DESENVOLVIMENTO DE PROJETO DE APLICAÇÃO COM USO DE VETORES DE OBJETOS COM TRATAMENTO DE EXCEÇÕES Disciplina: Programação orientada a objetos I Rio de Janeiro Setembro de 2021 UNIVERSIDADE VEIGA DE ALMEIDA Aluno: Yuri de Lemos Antunes Ribeiro Programação orientada a objetos I Trabalho apresentado como pré-requisito da disciplina Programação orientada a objetos I do Curso de Sistemas de Informação da Universidade Veiga de Almeida. Professora: Marco Aurelio Novaes Esteves. Rio de Janeiro Setembro de 2021 SUMÁRIO 1. INTRODUÇÃO 3 2. ENUNCIADO 4 3. CLASSE VEICULOS 5 4. CLASSE AVIAO 7 5. CLASSE NAVIO 9 6. CLASSE APPVEICULOS 11 7. RESULTADO DO PROGRAMA 12 8. DIAGRAMA 13 9. CONCLUSÃO 14 10. BIBLIOGRAFIA 15 ENUNCIADO 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. CLASSE VEICULOS package AVA2; public abstract class Veiculos { private int capacidadeTanque; private int numeroPassageiros; private float preco; public Veiculos() {} public Veiculos(int capacidadeTanque,int numeroPassageiros,float preco) { this.capacidadeTanque = capacidadeTanque; this.numeroPassageiros = numeroPassageiros; this.preco = preco; } public int getCapacidadeTanque() { return this.capacidadeTanque; } public void setCapacidadeTanque(int capacidadeTanque) { this.capacidadeTanque = capacidadeTanque; } public int getNumeroPassageiros() { return this.numeroPassageiros; } public void setNumeroPassageiros(int numeroPassageiros) { this.numeroPassageiros = numeroPassageiros; } public float getPreco() { return this.preco; } public void setPreco(float preco) { this.preco = preco; } public String toString() { return "\nCapacidade do tanque: " + capacidadeTanque + "\nNumero de passageiros: " + numeroPassageiros + "\nPreco: " + preco; } } CLASSE AVIAO package AVA2; import java.util.Scanner; public class Aviao extends Veiculos{ private String prefixo; private int dataRevisao; public Aviao() { super(); } public Aviao(String prefixo, int capacidadeTanque,int numeroPassageiros,float preco, int dataRevisao) { super(capacidadeTanque, numeroPassageiros, preco); this.prefixo = prefixo; this.dataRevisao = dataRevisao; } public String getPrefixo() { return this.prefixo; } public void setPrefixo(String prefixo) { this.prefixo = prefixo; } public int getDataRevisao() { return this.dataRevisao; } public void setDataRevisao(int dataRevisao) { this.dataRevisao = dataRevisao; } public String toString() { return super.toString() + "\nPrefixo: " + prefixo + "\nData de revisao: " + dataRevisao; } public void imprimir() { System.out.println("-------------------------"); System.out.println("Prefixo: "+ getPrefixo()); System.out.println("Data Revisao: "+ getPrefixo()); } public void entradaDados() { try (Scanner sc = new Scanner(System.in)) { System.out.println("Prefixo: "); setPrefixo(sc.nextLine()); System.out.println("Data Revisao: "); setDataRevisao(sc.nextInt()); } } } CLASSE NAVIO package AVA2; import java.util.Scanner; public class Navio extends Veiculos { private String nome; private int numeroTripulantes; private String dataLancamento; public Navio(String nome, int capacidadeTanque,int numeroPassageiros, int numeroTripulantes, float preco, String dataLancamento) { super(capacidadeTanque, numeroPassageiros, preco); this.nome = nome; this.numeroTripulantes = numeroTripulantes; this.dataLancamento = dataLancamento; } public Navio() { // TODO Auto-generated constructor stub } public String getNome() { return this.nome; } public void setNome(String nome) { this.nome = nome; } public int getNumeroTripulantes() { return this.numeroTripulantes; } public void setNumeroTripulantes(int numeroTripulantes) { this.numeroTripulantes = numeroTripulantes; } public String getDataLancamento() { return this.dataLancamento; } public void setDataLancamento(String dataLancamento) { this.dataLancamento = dataLancamento; } public String toString() { return super.toString() + "\nPrefixo: " + nome + "\nNumero de tripulantes: " + numeroTripulantes + "\nData de lancamento: " + dataLancamento; } public void imprimir() { System.out.println("-------------------------"); System.out.println("Nome: "+ getNome()); System.out.println("Numero de Tripulantes: "+ getNumeroTripulantes()); System.out.println("Data de Lancamento: "+ getDataLancamento()); } public void entradaDados() { try (Scanner sc = new Scanner(System.in)) { System.out.println("Nome: "); setNome(sc.nextLine()); System.out.println("Data de Lancamento: "); setNumeroTripulantes(sc.nextInt()); System.out.println("Numero de Tripulantes: "); setDataLancamento(sc.nextLine()); } } } CLASSE APPVEICULOS package AVA2; public class AppVeiculos { public static void main(String[] args) { Aviao vetAviao[] = new Aviao[5]; for (int i = 0; i < vetAviao.length; i++) { vetAviao[i] = new Aviao(); vetAviao[i].entradaDados(); } for (int i = 0; i < vetAviao.length; i++) { vetAviao[i].imprimir(); } } } RESULTADO DO PROGRAMA As palavras destacadas em verde foram digitadas pelo usuário. Prefixo: Tuca Data Revisao: 11082020 Prefixo: Exception in thread "main" java.util.NoSuchElementException: No line found at java.base/java.util.Scanner.nextLine(Scanner.java:1651) at AVA2.Aviao.entradaDados(Aviao.java:48) at AVA2.AppVeiculos.main(AppVeiculos.java:10) DIAGRAMA CONCLUSÃO Trabalho realizado em java utilizando a ferramenta de programação Eclipse, buscando apresentar, praticar e entender melhor a linguagem de programação JAVA apresentada durante a matéria de Programação orientada a Objetos I do curso de Sistemas de Informação. Apesar da leitura do material didático. folha de exercícios disponibilizada no fórum, acompanhado a aula do dia 06 de setembro e visto os vídeos do material, ainda foi sentido muita dificuldade, o que ocasionou o não êxito no trabalho. BIBLIOGRAFIA GEEK UNIVERSITY. Programação em Java 11 LTS do básico ao avançado. Disponível em: < https://www.udemy.com/course/programacao-em-java-essencial/> Acesso em: 06 de setembro de 21 a 10 de setembro de 21. DEVMEDIA. Entendendo e aplicando Herança em Java. Disponível em: <https://www.devmedia.com.br/entendendo-e-aplicando-heranca-em-java/24544>. Acesso em: 09 de setembro de 21. UNIVERSIDADE JAVA. Herança (extends). Disponível em: <http://www.universidadejava.com.br/java/java-heranca/>. Acesso em: 09 de setembro 21. Folha de exercícios da disciplina. E-book da disciplina. NASCIMENTO. A. S. A. Adriana. 15
Compartilhar