Menu
Coddy logo textTech

Panoramica del progetto e progettazione UML

Fa parte della sezione Programmazione orientata agli oggetti del percorso Java di Coddy. Lezione 77 di 87.

challenge icon

Sfida

Facile

Iniziamo il progetto del Sistema di gestione della biblioteca costruendone le fondamenta: le classi delle entità principali da cui dipenderà tutto il resto. Questa prima sfida consiste nel creare classi Book e User ben strutturate che modellino le entità principali del sistema.

Organizzerai il codice in tre file:

  • Book.java: crea la classe Book che rappresenta un libro della biblioteca. Ogni libro deve avere campi privati per isbn (String), title (String), author (String) e isAvailable (boolean, con valore predefinito true). Includi un costruttore che accetti isbn, title e author. Fornisci i metodi getter appropriati per tutti i campi e un setter per isAvailable. Aggiungi un metodo getDetails() che restituisca una stringa formattata: [isbn] title by author.
  • User.java: crea la classe User che rappresenta un membro della biblioteca. Ogni utente deve avere campi privati per id (String) e name (String). Includi un costruttore che accetti entrambi i valori e fornisci metodi getter per ciascun campo. Aggiungi un metodo toString() che restituisca: User[id]: name.
  • Main.java: metti insieme le tue classi per dimostrare che funzionano correttamente. Riceverai quattro input: l'ISBN, il titolo e l'autore di un libro, seguiti dall'ID e dal nome di un utente.

    Crea un Book con i primi tre input e un User con gli ultimi due. Stampa i dettagli del libro usando getDetails(), poi stampa se il libro è disponibile nel formato Available: true oppure Available: false. Infine, stampa l'utente usando il suo metodo toString().

Riceverai cinque input nell'ordine seguente: ISBN (String), titolo (String), autore (String), ID utente (String) e nome utente (String).

Per esempio, con gli input 978-0-13-468599-1, Effective Java, Joshua Bloch, U001 e Alice Smith, l'output sarà:

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

Queste classi fondamentali fungeranno da elementi costitutivi per l'intero Sistema di gestione della biblioteca. Nelle prossime lezioni, le estenderai con funzionalità di prestito, capacità di ricerca e altro ancora!

Provalo tu

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Leggi le informazioni sul libro
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // Leggi le informazioni sull'utente
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: Crea un oggetto Book con isbn, title e author
        
        // TODO: Crea un oggetto User con userId e userName
        
        // TODO: Stampa i dettagli del libro usando getDetails()
        
        // TODO: Stampa se il libro è disponibile (formato: "Available: true" o "Available: false")
        
        // TODO: Stampa l'utente usando toString()
    }
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Java online