Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Cdrom {
- private String titolo, autore, durata;
- private int n_brani;
- //public boolean b = false;
- public Cdrom ( String t, String a, String d, int n ) {
- titolo = t;
- autore = a;
- durata = d;
- n_brani = n;
- }
- public Cdrom ( Cdrom x ) {
- x.titolo = titolo;
- x.autore = autore;
- x.durata = durata;
- x.n_brani = n_brani;
- }
- public String getTitolo () { return titolo; }
- public String getAutore () { return autore; }
- public String getDurata () { return durata; }
- public int getN_brani () { return n_brani; }
- public void setTitolo ( String t ) { titolo = t; }
- public void setAutore ( String a ) { autore = a; }
- public void setDurata ( String d ) { durata = d; }
- public void setn_Brani ( int n ) { n_brani = n; }
- public String toString () { return titolo + " - " + autore + "(" + durata + "), " + n_brani + " brani"; }
- /*public String compareDurata () {}
- public boolean equals ( CD x ) {}*/
- }
- //---------------------------------------------------------------------------------------------------------------
- import java.util.*;
- public class RaccoglitoreCD {
- private final int maxCD; //capienza del raccoglitore
- private Cdrom [] raccoglitore; //raccoglitore di Cd
- public RaccoglitoreCD ( int m ) {
- maxCD = m;
- raccoglitore = new Cdrom [ maxCD ]; //allocazione raccoglitore cd in base alla capienza, passata per parametro
- }
- public RaccoglitoreCD ( RaccoglitoreCD x ) {
- raccoglitore = new Cdrom [ x.maxCD ]; //allocazione di un vettore uguale a quello dell'oggetto da copiare
- maxCD = x.maxCD; //assegnazione della capienza del raccoglitore copiato
- for ( int i = 0; x.maxCD > i; i++ ) //riallocazione (copia) di ogni cd dentro il raccoglitore da copiare nel raccoglitore copiato
- if ( x.raccoglitore [ i ] != null ) raccoglitore [ i ] = new Cdrom ( x.raccoglitore [ i ] );
- }
- public int getMaxCD () { return maxCD; }
- public boolean aggiungiCD ( Cdrom x ) { //aggiunge un cd nel primo spazio libero
- boolean b = false;
- for ( int i = 0; ( i < maxCD ) && !b; i++ )
- if ( raccoglitore [ i ] == null ) {
- raccoglitore [ i ] = new Cdrom ( x );
- b = true;
- }
- return b;
- }
- public boolean aggiungiCD ( Cdrom x, int i ) { //aggiunge un cd nello spazio i
- boolean b = false;
- if ( raccoglitore [ i ] == null ) {
- raccoglitore [ i ] = new Cdrom ( x );
- b = true;
- }
- return b;
- }
- public boolean eliminaCD ( String t ) { //rimuove un cd ricercandolo per titolo (mette null)
- int i; boolean b = false;
- for ( i = 0; ( i < maxCD ) && !b; i++ ) {
- if ( raccoglitore [ i ].getTitolo ().equals ( t ) ) {
- raccoglitore [ i ] = null;
- b = true;
- }
- }
- return b;
- }
- public boolean eliminaCD ( int i ) { //rimuove un cd ricercandolo per indirizzo i
- boolean b = false;
- if ( raccoglitore [ i ] != null ) {
- raccoglitore [ i ] = null;
- b = true;
- }
- return b;
- }
- public boolean ricercaCD ( String t ) { //ricerca un cd per titolo e restituisce vero se esiste
- int i; boolean b = false;
- for ( i = 0; ( i < maxCD ) && !b; i++ )
- if ( raccoglitore [ i ].getTitolo ().equals ( t ) ) b = true;
- return b;
- }
- public String toString () {
- String s = "";
- for ( int i = 0; i < maxCD; i++ )
- if ( raccoglitore [ i ] != null )
- s += raccoglitore [ i ].getTitolo () + ": " + raccoglitore [ i ].getAutore () + "\n";
- return s;
- }
- }
- //----------------------------------------------------___----------------------------------------
- import java.util.*;
- public class provaCD {
- private static Menu m;
- private static Cdrom c;
- private static boolean b = false;
- private static int l, n;
- private static String t, a, d;
- private static Scanner input = new Scanner ( System.in );
- public static void crea_menu () {
- m = new Menu ( 7 );
- String opzioni = " Aggiungi un CD/. Aggiungi un CD in una posizione specifica/. Elimina un CD per titolo/. Elimina un CD per posizione/. Ricerca CD per titolo/. Elenco dei CD/.Esci";
- m.riempi_opzioni ( opzioni );
- }
- public static void allocaCD () {
- System.out.print ( "Inserisci il nome del CD: " );
- t = input.nextLine ();
- System.out.print ( "Inserisci il nome dell'autore : " );
- a = input.nextLine ();
- System.out.print ( "Inserisci la durata del CD: " );
- d = input.nextLine ();
- System.out.print ( "Inserisci il numero di brani del CD: " );
- n = input.nextInt ();
- c = new Cdrom ( t, a, d, n );
- }
- public static void main ( String [] args ) {
- System.out.print ( "quanti CD può contenere il tuo raccoglitore?\t" );
- int dim = input.nextInt ();
- crea_menu ();
- RaccoglitoreCD r1 = new RaccoglitoreCD ( dim );
- int scelta;
- do {
- System.out.println ( m.toString () );
- do {
- scelta = input.nextInt ();
- } while ( ( scelta < 1 ) && ( scelta > 7 ) );
- switch ( scelta ) {
- case 1:
- allocaCD ();
- b = r1.aggiungiCD ( c );
- if ( b ) System.out.println ( "Cd aggiunto!" );
- else System.out.println ( "Raccoglitore pieno" );
- break;
- case 2:
- allocaCD ();
- r1.aggiungiCD ( c );
- System.out.print ( "Inserisci il posto dove inserire il CD: " );
- l = input.nextInt ();
- b = r1.aggiungiCD ( c, l );
- if ( b ) System.out.println ( "Cd aggiunto!" );
- else System.out.println ( "Posizione non valida" );
- break;
- case 3:
- System.out.print ( "Inserisci il nome del CD: " );
- t = input.nextLine ();
- b = r1.eliminaCD ( t );
- if ( b ) System.out.println ( "Cd eliminato!" );
- else System.out.println ( "CD non trovato" );
- break;
- case 4:
- System.out.print ( "Inserisci la posizione del CD: " );
- l = input.nextInt ();
- b = r1.eliminaCD ( l );
- if ( b ) System.out.println ( "Cd eliminato!" );
- else System.out.println ( "CD non trovato" );
- break;
- case 5:
- System.out.print ( "Inserisci il nome del CD: " );
- t = input.nextLine ();
- b = r1.ricercaCD ( t );
- if ( b ) System.out.println ( "Trovato!" );
- else System.out.println ( "CD non presente" );
- break;
- case 6:
- System.out.println ( r1.toString () );
- break;
- }
- } while ( scelta != 7 );
- }
- }
- //---------------------------------------------------------------------------------------------------------------
- import java.util.Scanner;
- public class Menu {
- //attributi
- private int numero_opzioni;
- private String [] opzioni;
- //costruttori
- public Menu ( int numero_opz ) {
- numero_opzioni = numero_opz;
- opzioni = new String [ numero_opzioni ];
- }
- //metodi
- public void riempi_opzioni () {
- Scanner input = new Scanner ( System.in );
- for ( int i = 0; i < this.numero_opzioni; i++ ) {
- System.out.println ( "Opzione " + ( i + 1 ) + ":" );
- opzioni [i] = input.nextLine ();
- }
- }
- public void riempi_opzioni ( String OString ) {
- int j, k = 0, inizio = 0;
- String s;
- for ( int i = 0; i < OString.length (); i++ )
- if ( ( ( OString.charAt ( i ) == '/' ) && ( OString.charAt ( i + 1 ) == '.' ) ) || ( i == ( OString.length () - 1 ) ) ) {
- j = i;
- opzioni [ k ] = OString.substring ( inizio, j );
- i += 2; k++;
- inizio = i;
- }
- }
- public void modifica_opzione ( int numero_opz, String opzione ) {
- opzioni [ numero_opz ] = opzione;
- }
- public String toString () {
- String menu = "";
- for ( int i = 1; i <= numero_opzioni; i++ )
- menu = menu + ( i + ": " + opzioni [ i - 1 ] + "\n" );
- return menu;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement