Prévia do material em texto
CENTRO UNIVERSITÁRIO JORGE AMADO
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E
DESENVOLVIMENTO DE SISTEMAS - EAD
Aluno: Arthur Silva Santos
Matrícula: 2230102516
Disciplina: Programação Orientada a Objeto I
Tutor: Luciano de Pinna
AVA 1 – TRABALHO DA DISCIPLINA
SALVADOR/BA
2024
Índice
1. Introdução
2. Código da Classe Principal (Computador)
3. Código da Classe de Aplicação de Teste (TesteComputador)
4. Resultados Obtidos
5. Conclusão
6. Bibliografia
Anexo: Projeto.zip (Computador.java (classe), TesteComputador.java (aplicação))
1. Introdução
Este projeto tem como objetivo desenvolver uma aplicação em Java que utiliza a
classe “Computador” e uma classe de teste associada “TesteComputador” para
demonstrar a criação e manipulação de objetos. A aplicação foi desenvolvida
utilizando conceitos de orientação a objetos, como classes, objetos, métodos,
construtores, getters e setters. O projeto foi desenvolvido utilizando o software
“Eclipse IDE for Java Developers - 2024-06, Versão: 2024-06 (4.32.0)”.
2. Código da Classe Principal (Computador.java)
A classe “Computador” representa um modelo de um computador com atributos como
marca, modelo, processador, memória RAM e armazenamento. A classe possui dois
construtores: um construtor padrão (sem parâmetros) e um construtor que inicializa
todos os atributos. A classe também possui métodos getters e setters para cada
atributo e um método “imprimir” para exibir os detalhes do computador.
package computador;
public class Computador {
private String marca;
private String modelo;
private String processador;
private int memoriaRAM;
private int armazenamento;
public Computador() {
}
public Computador(String marca, String modelo, String processador, int
memoriaRAM, int armazenamento) {
this.marca = marca;
this.modelo = modelo;
this.processador = processador;
this.memoriaRAM = memoriaRAM;
this.armazenamento = armazenamento;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public String getProcessador() {
return processador;
}
public void setProcessador(String processador) {
this.processador = processador;
}
public int getMemoriaRAM() {
return memoriaRAM;
}
public void setMemoriaRAM(int memoriaRAM) {
this.memoriaRAM = memoriaRAM;
}
public int getArmazenamento() {
return armazenamento;
}
public void setArmazenamento(int armazenamento) {
this.armazenamento = armazenamento;
}
public void imprimir() {
System.out.println("Marca: " + marca);
System.out.println("Modelo: " + modelo);
System.out.println("Processador: " + processador);
System.out.println("Memória RAM: " + memoriaRAM + "GB");
System.out.println("Armazenamento: " + armazenamento + "GB");
System.out.println();
}
}
3. Código da Classe de Aplicação de Teste (TesteComputador.java)
A classe “TesteComputador” é responsável por instanciar objetos da classe
`Computador`, solicitar dados ao usuário para preencher os atributos dos objetos e,
ao final, exibir todos os atributos dos quatro objetos criados.
package computador;
import java.util.InputMismatchException;
import java.util.Scanner;
public class TesteComputador {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Criação de dois objetos utilizando o construtor default
Computador comp1 = new Computador();
Computador comp2 = new Computador();
// Preenchendo atributos para comp1
System.out.println("Informe os detalhes do primeiro computador:");
System.out.print("Marca: ");
comp1.setMarca(scanner.nextLine());
System.out.print("Modelo: ");
comp1.setModelo(scanner.nextLine());
System.out.print("Processador: ");
comp1.setProcessador(scanner.nextLine());
comp1.setMemoriaRAM(leiaInteiro(scanner, "Memória RAM (GB): "));
comp1.setArmazenamento(leiaInteiro(scanner, "Armazenamento (GB): "));
// Preenchendo atributos para comp2
System.out.println("Informe os detalhes do segundo computador:");
System.out.print("Marca: ");
comp2.setMarca(scanner.nextLine());
System.out.print("Modelo: ");
comp2.setModelo(scanner.nextLine());
System.out.print("Processador: ");
comp2.setProcessador(scanner.nextLine());
comp2.setMemoriaRAM(leiaInteiro(scanner, "Memória RAM (GB): "));
comp2.setArmazenamento(leiaInteiro(scanner, "Armazenamento (GB): "));
// Criação de dois objetos utilizando o construtor com parâmetros
System.out.println("Informe os detalhes do terceiro computador:");
System.out.print("Marca: ");
String marca3 = scanner.nextLine();
System.out.print("Modelo: ");
String modelo3 = scanner.nextLine();
System.out.print("Processador: ");
String processador3 = scanner.nextLine();
int memoriaRAM3 = leiaInteiro(scanner, "Memória RAM (GB): ");
int armazenamento3 = leiaInteiro(scanner, "Armazenamento (GB): ");
Computador comp3 = new Computador(marca3, modelo3, processador3,
memoriaRAM3, armazenamento3);
System.out.println("Informe os detalhes do quarto computador:");
System.out.print("Marca: ");
String marca4 = scanner.nextLine();
System.out.print("Modelo: ");
String modelo4 = scanner.nextLine();
System.out.print("Processador: ");
String processador4 = scanner.nextLine();
int memoriaRAM4 = leiaInteiro(scanner, "Memória RAM (GB): ");
int armazenamento4 = leiaInteiro(scanner, "Armazenamento (GB): ");
Computador comp4 = new Computador(marca4, modelo4, processador4,
memoriaRAM4, armazenamento4);
// Exibindo todos os atributos dos quatro objetos criados
System.out.println("\nDetalhes dos computadores:");
comp1.imprimir();
comp2.imprimir();
comp3.imprimir();
comp4.imprimir();
scanner.close();
}
// Método auxiliar para ler inteiros com tratamento de exceção
private static int leiaInteiro(Scanner scanner, String mensagem) {
int valor = 0;
boolean entradaValida = false;
while (!entradaValida) {
System.out.print(mensagem);
try {
valor = scanner.nextInt();
entradaValida = true; // Se a entrada for válida, saia do loop
} catch (InputMismatchException e) {
System.out.println("Entrada inválida! Por favor, insira um número
inteiro.");
scanner.nextLine(); // Limpa a entrada inválida do scanner
}
}
scanner.nextLine(); // Consumir o newline pendente após a leitura de um
número
return valor;
}
}
4. Resultados Obtidos
Após a execução do programa, os detalhes dos computadores são exibidos conforme
os dados fornecidos pelo usuário. Seguem exemplos de entradas e saídas, incluindo
capturas de tela do console do Eclipse mostrando os resultados. O programa também
lida adequadamente com entradas inválidas, solicitando que o usuário insira
novamente dados válidos.
Entrada:
Saída:
5. Conclusão
O projeto demonstrou a aplicação de conceitos de orientação a objetos em Java, como
a criaçãode classes, objetos, métodos e tratamento de exceções. O uso de
construtores e métodos de acesso (getters e setters) foi essencial para encapsular os
dados e garantir a integridade dos atributos dos objetos.
Referências Bibliográficas:
Curso de Java #02 - Como Funciona o Java - Gustavo Guanabara
Link: https://www.youtube.com/watch?v=v_ZCtgwbS3o Data do acesso: 31/08/2024.
Download Eclipse Technology that is right for you
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2024-
06/R/eclipse-inst-jre-win64.exe Data do acesso: 25/07/2024.
SCHILDT, Herbert. Java para Iniciantes. Porto Alegre: Grupo A, 2015. E-book. ISBN
9788582603376. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788582603376/ Acesso em:
26/07/2024.
Ebook Unijorge – Programação Orientada a Objetos I – ILUMNO
Link: https://unijorge.instructure.com/courses/38940/modules/items/547313
https://www.youtube.com/watch?v=v_ZCtgwbS3o
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2024-06/R/eclipse-inst-jre-win64.exe
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2024-06/R/eclipse-inst-jre-win64.exe
https://integrada.minhabiblioteca.com.br/#/books/9788582603376/
https://unijorge.instructure.com/courses/38940/modules/items/547313