Logo Passei Direto
Buscar

AVA2 - Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções Programação Orientada a Objetos I

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

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

Prévia do material em texto

UNIJORGE – CENTRO UNIVERSITARIO JORGE AMADO
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Camaçari/Ba
2023
Alisson Pacheco do Nascimento
Análise e Projeto de Sistemas de Informação I
AVA2 – Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções.
Trabalho de avaliação da matéria de análise e projetos de sistemas de informação 1, apresentado a Universidade Unijorge como requisito para avaliação em análise e desenvolvimento de sistemas -AVA 2
Professor: Leandro Sady Rodrigues
SUMÁRIO
INTRODUÇÃO
Este trabalho tem como objetivo desenvolver habilidades de programação com Java, da disciplina de Programação de Objetos I AVA 2, utilizando o uso de vetores e matrizes de objetos para facilitar o desenvolvimento de determinados projetos, facilitar o desenvolvimento, reduzir a complexidade e favorecer a manutenção do sistema.
Criação de uma subclasse para atender às necessidades das subclasses, com todas as funcionalidades comuns a classes semelhantes. Além disso, criar uma aplicação que controle, através de um único vetor com dez objetos de cada tipo, sempre utilizando um construtor vazio. Usando o processamento de inicialização para proteger o aplicativo de possíveis entradas de dados inválidos usando métodos da classe Scanner.
2
5
1 GRÁFICO HIERÁQUICO DAS CLASSES
6
2 CODIFICAÇÃO DAS CLASSES E APLICAÇÃO
-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/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
CONSTRUÍDO COM SUCESSO (tempo total: 10 minutos 12 segundos)
Conclusão do Trabalho
Ao longo deste trabalho, seguimos um processo rigoroso de análise e implementação, que culminou na criação de uma aplicação Java capaz de gerenciar objetos por meio de um vetor único.
A hierarquia de classes que desenvolvemos permitiu-nos criar subclasses específicas para atender às necessidades individuais, ao mesmo tempo que aproveitamos todas as funcionalidades comuns das classes ‘’pai’’. O uso de construtores vazios e a aplicação de tratamento de exceções com métodos de classe Scanner foram elementos fundamentais para garantir a robustez e a segurança da aplicação, protegendo-a contra entradas de dados inválidos.
O diagrama de hierarquia de classes UML, que elaboramos e implementamos no NetBeans, desempenhou um papel fundamental na visualização e compreensão da estrutura do projeto. Ele serviu como um guia valioso durante todo o processo de desenvolvimento, auxiliando na organização e na arquitetura do código.
Este projeto também nos proporcionou a oportunidade de aplicar os conhecimentos teóricos em um contexto prático, consolidando nossa compreensão de princípios fundamentais de programação. Além disso, a ênfase na reutilização de código e na modularização nos permitiu criar uma aplicação flexível, que pode ser estendida e adaptada facilmente no futuro.
Em conclusão, o desenvolvimento deste projeto de aplicação Java com o uso de vetores de objetos e tratamento de exceções foi uma experiência enriquecedora, que nos permitiu aprimorar nossas habilidades de programação e desenvolvimento de software. Espero que este trabalho tenha cumprido as expectativas e demonstrado a nossa capacidade de projetar e implementar aplicações orientadas a objetos eficazes e confiáveis.
Referencias
Ebook - Canvas. Disponível em: <https://unijorge.instructure.com/courses/34496/modules/items/466573>. Acesso em: 6 set. 2023.
Aprofundamentos sobre vetores em Java. Disponível em: <https://www.devmedia.com.br/vetores-em-java/21449>.
Tratamento de exceções : aprenda na prática : exemplo Java. Disponível em: <https://www.youtube.com/watch?v=AiIuJqJ0r8A>. Acesso em: 6 set. 2023.
‌
‌
‌

Mais conteúdos dessa disciplina