Buscar

AVA2 PROGRAMAÇÃO ORIENTADA A OBJETOS I (IL10328) UVA Veiga de Almeida

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

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

Continue navegando