Java Exercise 07

Exercise

Part 1

Define a class to represent an MP3 file characterized by the following private attributes:

  • the file name
  • the number of bytes occupied on the hard disk (an MP3 file can be up to 128 megabytes long)

The class should use only the following methods (no other methods should be created):

  • a single constructor that receives as parameters the values with which to initialize the two attributes
  • a method that returns the file size in bytes, another method that returns it in kilobytes, yet another in megabytes
  • a method that returns the file name
  • a method that has an M byte as parameter and displays on the Java console the name of the file followed by the file size: in bytes if M=0, in kilobytes if M=1, in megabytes if M=2; provide a reasonable solution in case a value of M different from one of these 3 is passed

Part 2

Define a class to represent an audio CD as a sequence of MP3 files. When you create a new CD the sequence is obviously empty. An audio CD has these private attributes:

  • the maximum number of MP3 files that can be inserted on the CD
  • the sequence of MP3 files on the CD.
  • the amount of space occupied by the CD on the hard disk, in megabytes (the sum of the space occupied by MP3 files on the CD)

The constructor of the class has as only parameter the maximum number of MP3 files contained in the CD and provides to initialize in an appropriate way the various attributes listed above.
The class shall use the following methods:

  • a method to add a new MP3 file to the CD; the method receives the file or its data as parameters (there is therefore no keyboard input from the user!); an MP3 file can be added to the CD if and only if: the number of files currently present on the CD is less than the maximum number of files that the CD can contain and the space occupied by the CD on the hard disk is less than 1024 megabytes
  • a method that returns the total amount of space the CD occupies on your hard disk
  • a method that returns the name of the largest file (in the sense of the space occupied on the hard disk) among all those contained on the CD
  • a method that deletes all files on the CD

Esercizio

Parte 1

Definire una classe per rappresentare un file MP3 caratterizzata dai seguenti attributi privati:

  • il nome del file
  • il numero di byte occupati su disco fisso (un file MP3 può essere lungo fino a 128 megabyte)

La classe dovrà prevedere solo i seguenti metodi (non ne vanno creati altri):

  • un solo costruttore che riceve come parametri i valori con cui inizializzare i due attributi
  • un metodo che restituisce la grandezza del file in byte, un altro metodo che la restituisce in kilobyte, un altro ancora in megabyte
  • un metodo che restituisce il nome del file
  • un metodo che ha come parametro un byte M e visualizza sulla console Java il nome del file seguito dalla grandezza del file: in byte se M=0, in kilobyte se M=1, in megabyte se M=2; prevedere una soluzione ragionevole al caso in cui venga passato un valore di M diverso da uno di questi 3

Parte 2

Definire una classe per rappresentare un CD audio come una sequenza di file MP3. Quando si crea un nuovo CD la sequenza è ovviamente vuota. Un CD audio ha questi attributi privati:

  • il numero massimo di file MP3 che si possono inserire nel CD
  • la sequenza stessa dei file MP3 contenuti nel CD
  • la quantità di spazio occupato dal CD su disco fisso, in megabyte (la somma dello spazio occupato dai file MP3 nel CD)

Il costruttore della classe ha come unico parametro il numero massimo di file MP3 contenuti nel CD e provvede ad inizializzare in modo opportuno i vari attributi elencati sopra.
La classe deve prevedere i seguenti metodi:

un metodo per aggiungere un nuovo file MP3 al CD; il metodo riceve il file o i suoi dati come parametri (non c’è quindi nessun input da tastiera da parte dell’utente!); un file MP3 può essere aggiunto al CD se e solo se: il numero di file attualmente presenti nel CD è inferiore al massimo numero di file che il CD può contenere e lo spazio occupato dal CD su disco fisso è minore di 1024 megabytes

  • un metodo che restituisce la quantità di spazio totale occupato dal CD su disco fisso
  • un metodo che restituisce il nome del file più grande (nel senso dello spazio occupato su disco fisso) tra tutti quelli contenuti nel CD
  • un metodo che elimina tutti i file contenuti nel CD