// inizializzazione della biblioteca con utenti, libri e prestiti // non richiesta Biblioteca.inizializza();



Documenti analoghi
INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002.

System.out.println("Inserire il cognome del cliente " + k + " : "); cognome = in.readstring();

// fase di inizializzazione della redazione. Parte non richiesta. System.out.println("Inserisci i dati del capo redazione: ");

Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

Laboratorio di Sistemi Prototipo applicazione Biblioteca Jsp [Java]

int numtel, giorno, mese, anno; Data data, datacorrente; String datastring, nome, cognome, indirizzo, numstring, scelta; Persona mit, dest, find;

Esercizi della lezione 5 di Java

Laboratorio di sistemi Web Application in Php5 Php

Ingegneria del Software

// Inizializzazione del museo. Parte non richiesta dal testo. for(int i=0;i<sale;i++){ System.out.println("Inserisci i dati della sala "+i+": ");

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

SAPIENZA Università di Roma, Facoltà di Ingegneria

Parcheggio.rtf 1/8 6 gennaio Prova di programmazione: parcheggio a pagamento

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

Esercizio 6 Realizzare una classe astratta per le Figure piane e due sottoclassi, la sottoclasse Quadrato e la sottoclasse Rettangolo.

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

Esercizi classi e array

Laboratorio di Sistemi Ordinamento di oggetti Java

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

Scrivere il codice del compareto in modo tale che confronti due Studenti per età e a parità di questa per matricola

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a I scritto Febbraio 11 Febbraio 2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2011

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Luglio Soluzione degli Esercizi

Realizzazione di una classe con un associazione

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

E7 Esercizi sul Capitolo 7 Realizzazione di Classi

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Algoritmi di Ricerca. Esempi di programmi Java

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

Programmazione 1 A.A. 2015/2016

E21 Esercizi sulle collezioni in Java

Esercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti

Programmazione ad Oggetti: JAVA. Esercitazione

System.out.println("Fase di inizializzazione della piscina... ");

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2018/ Luglio 2019

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2011

hashmap.pdf Pag. 1/6 Cozzetto

Programmazione. preparazione allo scritto. Informatica / Comunicazione Digitale 19 gennaio 2016

E18 Esercizi su ereditarietà e polimorfismo

Esercizi Svolti. Traccia completa svolta 1. Domanda 1:

Esempi di esercizi d esame

Ottava Esercitazione. introduzione ai thread java mutua esclusione

Esercitazione n 4. Capacità di analisi e di estensione di progetti esistenti Il concetto di filtro Linguaggio Java:

System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012

SAPIENZA Università di Roma, Facoltà di Ingegneria

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo

public String tostring(){ return (riga +" " + colonna +" " + valore); } }//end class terna

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2018/ Giugno 2019

Studente (Cognome Nome): Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a Primo scritto 14 Gennaio 2010

Laboratorio di sistemi Strutture dati ricorsive (2) Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Esercitazione. Programmazione Object Oriented in Java

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012

E9 Esercizi sul Capitolo 9 Array

Laboratorio di Sistemi Database a oggetti: db4o Jsp [Java]

E17 Esercizi sugli Array in Java

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/ Giugno 2017

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni

Prova d Esame Compito A

Prova d Esame Compito B

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];

Laboratorio di Sistemi Classi e relazioni Java

QUEUE : considerazioni. QUEUE : considerazioni. QUEUE : esempio. QUEUE : esempio

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2017/ Luglio 2018

Laboratorio di sistemi Verifica del 29 marzo V Java

Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Giugno 2014

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a Quinto scritto 2 Luglio 2010

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

Realizzazione di Phone Plan. Soluzione - SimpleTime. Realizzazione e testing! Soluzione - SimpleTime. Soluzione - SimpleTime

Corso sul linguaggio Java

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/ Febbraio 2017

Esercizio: la classe CashRegister

Esercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011

Definizione di classi con array di oggetti

3. La sintassi di Java

# $ $ A.A. 2006/07 Tutor: Daniele Tiles &== ? &7$ %% & '( ) * + $, $ $ -' %./, $ * $ $ 7 5 &7 2$ $ $ 3&4&&&

Introduzione Programmazione Java

Programmazione su Reti

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Gennaio 2015

Laboratorio di Programmazione Ottobre. Simone Zaccaria

esercizi Esercizi / problemi

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a Terzo scritto 19 Febbraio 2010

Cifratura simmetrica

Laboratorio di Sistemi Serializzare mediante file Java

ES.1 - Soluzione (Stringhe.java)

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a febbraio 2013

Transcript:

// Fondamenti di Informatica/Informatica Grafica // Soluzione del compito del 21/03/2003 // per semplicità si è deciso di riportare in un unico file il testo // delle soluzioni degli esercizi 1, 2 e 3. // ogni classe poteva appartenere ad un file distinto: Libro.java, // Utente.java, Prestito.java, Biblioteca.java e Applicazione.java import fiji.io.simplereader; public class Applicazione { public static void main(string[] args) { // inizializzazione della biblioteca con utenti, libri e prestiti // non richiesta Biblioteca.inizializza(); // inizio del compito SimpleReader in = new SimpleReader(); String nome, cognome, autore, titolo; int codice; Libro libro; Utente utente; System.out.println("Inserisci il Codice utente: "); codice = in.readint(); System.out.println("Inserisci il Nome utente: "); nome = in.readstring(); System.out.println("Inserisci il Cognome utente: "); cognome = in.readstring(); utente = new Utente(codice, nome, cognome); System.out.println("Inserisci Autore: "); autore = in.readstring(); System.out.println("Inserisci Titolo: "); titolo = in.readstring(); libro = Biblioteca.cercaLibro(autore,titolo); if (libro == null) { System.out.println("Libro non censito in biblioteca!"); else { System.out.println("Libro: codice " + libro.getisbn() + " editore " + libro.geteditore()); if (Biblioteca.inPrestito(libro)) { System.out.println("Libro non disponibile"); else { Biblioteca.inserisciPrestito(utente,libro); System.out.println("Libro preso a Prestito!"); public class Libro {

private String ISBN; private String autore; private String titolo; private String editore; * Costruttore con parametri public Libro(String ISBN, String autore, String titolo, String editore) { this.isbn = ISBN; this.autore = autore; this.titolo = titolo; this.editore = editore; * equals public boolean equals(libro l) { return (l.getisbn().equals(isbn) && l.geteditore().equals(editore) && l.gettitolo().equals(titolo) && l.getautore().equals(autore)); public String tostring() { return(autore + " - " + titolo); * Gets the isbn public String getisbn() { return ISBN; * Gets the autore public String getautore() { return autore; * Gets the titolo public String gettitolo() { return titolo; * Gets the editore public String geteditore() { return editore; public class Utente {

private int codice; private String nome; private String cognome; * Costruttore con parametri public Utente(int codice, String nome, String cognome) { this.codice = codice; this.nome = nome; this.cognome = cognome; * equals public boolean equals(utente u) { return (u.getcodice()==codice && u.getnome().equals(nome) && u.getcognome().equals(cognome)); * Gets the codice public int getcodice() { return codice; * Gets the nome public String getnome() { return nome; * Gets the cognome public String getcognome() { return cognome; public class Prestito { private static int codice = 0; private Utente utente; private Libro libro; public Prestito(Utente utente, Libro libro) { this.utente = utente; this.libro = libro; // generazione del codice progressivo codice = codice + 1;

* equals public boolean equals(prestito p) { return (p.getcodice()==codice && p.getlibro().equals(libro) && p.getutente().equals(utente)); * Gets the codice public static int getcodice() { return codice; * Gets the utente public Utente getutente() { return utente; * Gets the libro public Libro getlibro() { return libro; public class Biblioteca { public static final int MAX_LIBRI = 10000; public static final int MAX_UTENTI = 1000; public static final int MAX_PRESTITI = 200; public static String nome; private static Libro[] libri = new Libro[MAX_LIBRI]; private static Utente[] utenti = new Utente[MAX_UTENTI]; private static Prestito[] prestiti = new Prestito[MAX_PRESTITI]; private static int numlibri = 0; private static int numutenti = 0; private static int numprestiti = 0; * Gets the nome public static String getnome() { return nome; * inserisce un prestito nell'array se vi e' posto public static void inserisciprestito(utente u, Libro l) { if (numprestiti < MAX_PRESTITI) { prestiti[numprestiti] = new Prestito(u,l); numprestiti++;

* Elimina un prestito rimuovendolo dall'array public static void eliminaprestito(prestito p) { boolean found = false; int i=0; while(i < numprestiti &&!found){ if (prestiti[i].equals(p)) found = true; i++; if (found){ while(i<numprestiti) prestiti[i-1]=prestiti[i]; prestiti[i-1]=null; numprestiti--; else { System.out.println("il prestito "+ p + " non e' stato trovato!"); * conteggio dei prestiti per utente public static int contaprestitiperutente(utente u) { int ret = 0; for (int i=0; i < numprestiti;i++) { if (prestiti[i].getutente().equals(u)) { ret++; return ret; * controlla lo stato di un libro public static boolean inprestito(libro l) { boolean found = false; for (int i=0;i < numprestiti &&!found;i++) { if (prestiti[i].getlibro().equals(l)) { found = true; return found; * ricerca e restituisce un libro dati autore e titolo public static Libro cercalibro(string autore, String titolo) { boolean found = false; Libro ret = null; for (int i=0; i < numlibri && ret == null;i++) { if (libri[i].getautore().equals(autore) && libri[i].gettitolo().equals(titolo)) { ret = libri[i];

return ret; // inizializzazione della biblioteca con utenti, libri e prestiti // non richiesta public static void inizializza() { numlibri = 3; libri[0] = new Libro("ISBN1","autore1", "titolo1", "editore1"); libri[1] = new Libro("ISBN2","autore2", "titolo2", "editore2"); libri[2] = new Libro("ISBN3","autore3", "titolo3", "editore3"); numutenti = 2; utenti[0] = new Utente(123, "Fabio","Rossi"); utenti[1] = new Utente(456, "Giulia","Bianchi"); numprestiti = 2; prestiti[0] = new Prestito(utenti[0],libri[0]); prestiti[1] = new Prestito(utenti[1],libri[2]);