Menu
Coddy logo textTech

Visão Geral do Projeto e Modelagem UML

Parte da seção Programação Orientada a Objetos do Journey de Java da Coddy — lição 77 de 87.

challenge icon

Desafio

Fácil

Vamos dar o pontapé inicial no projeto do Sistema de Gerenciamento de Biblioteca construindo a base — as classes de entidade principais das quais tudo o mais dependerá. Este primeiro desafio foca na criação de classes Book e User bem estruturadas que seguem o design UML da lição.

Você organizará seu código em três arquivos:

  • Book.java: Crie a classe Book que representa um livro da biblioteca. Cada livro deve ter campos privados para isbn (String), title (String), author (String) e isAvailable (boolean, com valor padrão true). Inclua um construtor que aceite isbn, title e author. Forneça métodos getter apropriados para todos os campos e um setter para isAvailable. Adicione um método getDetails() que retorne uma string formatada: [isbn] title by author.
  • User.java: Crie a classe User representando um membro da biblioteca. Cada usuário deve ter campos privados para id (String) e name (String). Inclua um construtor que aceite ambos os valores e forneça métodos getter para cada campo. Adicione um método toString() que retorne: User[id]: name.
  • Main.java: Reúna suas classes para demonstrar que elas funcionam corretamente. Você receberá quatro entradas: o ISBN de um livro, título, autor e, em seguida, o ID e o nome de um usuário.

    Crie um Book com as três primeiras entradas e um User com as duas últimas entradas. Imprima os detalhes do livro usando getDetails(), depois imprima se o livro está disponível no formato Available: true ou Available: false. Por fim, imprima o usuário usando seu método toString().

Você receberá cinco entradas em ordem: ISBN (String), title (String), author (String), user ID (String) e user name (String).

Por exemplo, com as entradas 978-0-13-468599-1, Effective Java, Joshua Bloch, U001 e Alice Smith, sua saída seria:

[978-0-13-468599-1] Effective Java by Joshua Bloch
Available: true
User[U001]: Alice Smith

Essas classes fundamentais servirão como os blocos de construção para todo o Sistema de Gerenciamento de Biblioteca. Nas próximas lições, você as estenderá com funcionalidades de empréstimo, recursos de busca e muito mais!

Experimente você mesmo

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Ler informações do livro
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // Ler informações do usuário
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: Criar um objeto Book com isbn, title, e author
        
        // TODO: Criar um objeto User com userId e userName
        
        // TODO: Imprimir os detalhes do livro usando getDetails()
        
        // TODO: Imprimir se o livro está disponível (formato: "Available: true" ou "Available: false")
        
        // TODO: Imprimir o usuário usando toString()
    }
}

Todas as lições de Programação Orientada a Objetos