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 começar o projeto do Sistema de Gerenciamento de Biblioteca construindo a base: as classes de entidade principais das quais todo o restante dependerá. Este primeiro desafio se concentra na criação de classes Book e User bem estruturadas que modelem as entidades principais do sistema.

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 que representa 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, o título e o autor de um livro 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() e, em seguida, 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 na seguinte ordem: ISBN (String), título (String), autor (String), ID do usuário (String) e nome do usuário (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 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 pesquisa 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: Print whether the book is available (format: "Available: true" or "Available: false")
        
        // TODO: Imprimir o usuário usando toString()
    }
}

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

Pratique por conta própria: Compilador de Java online