Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

import java.util.ArrayList; public class MusicExchangeTestProgram2 { public static void main(String args[]) { ArrayList catalog; // Create a new music exchange center MusicExchangeCenter mec = new

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

image text in transcribed

import java.util.ArrayList; public class MusicExchangeTestProgram2 { public static void main(String args[]) { ArrayList catalog; // Create a new music exchange center MusicExchangeCenter mec = new MusicExchangeCenter(); // Create some users and give them some songs User discoStew = User.DiscoStew(); User sleepingSam = User.SleepingSam(); User ronnieRocker = User.RonnieRocker(); User countryCandy = User.CountryCandy(); User peterPunk = User.PeterPunk(); // Register the users discoStew.register(mec); ronnieRocker.register(mec); sleepingSam.register(mec); countryCandy.register(mec); peterPunk.register(mec); // Log on all users discoStew.logon(mec); sleepingSam.logon(mec); ronnieRocker.logon(mec); countryCandy.logon(mec); peterPunk.logon(mec); System.out.println("Status: " + mec); // Simulate a user requesting a list of songs catalog = discoStew.requestCompleteSonglist(mec); System.out.println("Complete Song List: "); for (String s: catalog) System.out.println(" " + s); // Simulate a user downloading 3 songs from the list System.out.println(" Disco Stew before downloading: " + discoStew); discoStew.downloadSong(mec, "Bite My Arms Off", "Peter Punk"); discoStew.downloadSong(mec, "Meadows", "Sleeping Sam"); discoStew.downloadSong(mec, "If I Had a Hammer", "Country Candy"); discoStew.downloadSong(mec, "Sandy Toes", "Country Candy"); ronnieRocker.logoff(mec); // log off Ronnie, next download should fail discoStew.downloadSong(mec, "Only You Can Rock Me", "Ronnie Rocker"); System.out.println("Disco Stew after downloading: " + discoStew); ronnieRocker.logon(mec); // log on Ronnie, next download should work discoStew.downloadSong(mec, "Only You Can Rock Me", "Ronnie Rocker"); System.out.println("Disco Stew after downloading Ronnies: " + discoStew + " "); // Simulate a user requesting a list of songs by a specific artist catalog = discoStew.requestSonglistByArtist(mec, "Jaw"); System.out.println("Songs by Jaw: "); for (String s: catalog) System.out.println(" " + s); } } 

public class User { private String userName; private boolean online; public User() { this(""); } public User(String u) { userName = u; online = false; } public String getUserName() { return userName; } public boolean isOnline() { return online; } public String toString() { String s = "" + userName + ": XXX songs ("; if (!online) s += "not "; return s + "online)"; } // Various Users for test purposes public static User DiscoStew() { User discoStew = new User("Disco Stew"); discoStew.addSong(new Song("Hey Jude", "The Beatles", 4, 35)); discoStew.addSong(new Song("Barbie Girl", "Aqua", 3, 54)); discoStew.addSong(new Song("Only You Can Rock Me", "UFO", 4, 59)); discoStew.addSong(new Song("Paper Soup Cats", "Jaw", 4, 18)); return discoStew; } public static User SleepingSam() { User sleepingSam = new User("Sleeping Sam"); sleepingSam.addSong(new Song("Meadows", "Sleepfest", 7, 15)); sleepingSam.addSong(new Song("Calm is Good", "Waterfall", 6, 22)); return sleepingSam; } public static User RonnieRocker() { User ronnieRocker = new User("Ronnie Rocker"); ronnieRocker.addSong(new Song("Rock is Cool", "Yeah", 4, 17)); ronnieRocker.addSong(new Song("My Girl is Mean to Me", "Can't Stand Up", 3, 29)); ronnieRocker.addSong(new Song("Only You Can Rock Me", "UFO", 4, 52)); ronnieRocker.addSong(new Song("We're Not Gonna Take It", "Twisted Sister", 3, 9)); return ronnieRocker; } public static User CountryCandy() { User countryCandy = new User("Country Candy"); countryCandy.addSong(new Song("If I Had a Hammer", "Long Road", 4, 15)); countryCandy.addSong(new Song("My Man is a 4x4 Driver", "Ms. Lonely", 3, 7)); countryCandy.addSong(new Song("This Song is for Johnny", "Lone Wolf", 4, 22)); return countryCandy; } public static User PeterPunk() { User peterPunk = new User("Peter Punk"); peterPunk.addSong(new Song("Bite My Arms Off", "Jaw", 4, 12)); peterPunk.addSong(new Song("Where's My Sweater", "The Knitters", 3, 41)); peterPunk.addSong(new Song("Is that My Toenail ?", "Clip", 4, 47)); peterPunk.addSong(new Song("Anvil Headache", "Clip", 4, 34)); peterPunk.addSong(new Song("My Hair is on Fire", "Jaw", 3, 55)); return peterPunk; } } 

import javafx.util.Pair; public class MusicExchangeTestProgram3 { public static void main(String args[]) { // Create a new music exchange center MusicExchangeCenter mec = new MusicExchangeCenter(); // Create some users and give them some songs User discoStew = User.DiscoStew(); User sleepingSam = User.SleepingSam(); User ronnieRocker = User.RonnieRocker(); User countryCandy = User.CountryCandy(); User peterPunk = User.PeterPunk(); // Register the users discoStew.register(mec); ronnieRocker.register(mec); sleepingSam.register(mec); countryCandy.register(mec); peterPunk.register(mec); // Log on all users discoStew.logon(mec); sleepingSam.logon(mec); ronnieRocker.logon(mec); countryCandy.logon(mec); peterPunk.logon(mec); System.out.println("Status: " + mec); // Simulate users downloading various songs discoStew.downloadSong(mec, "Bite My Arms Off", "Peter Punk"); discoStew.downloadSong(mec, "Meadows", "Sleeping Sam"); discoStew.downloadSong(mec, "If I Had a Hammer", "Country Candy"); discoStew.downloadSong(mec, "Is that My Toenail ?", "Peter Punk"); sleepingSam.downloadSong(mec, "Anvil Headache", "Peter Punk"); sleepingSam.downloadSong(mec, "Is that My Toenail ?", "Disco Stew"); sleepingSam.downloadSong(mec, "If I Had a Hammer", "Country Candy"); countryCandy.downloadSong(mec, "Anvil Headache", "Peter Punk"); countryCandy.downloadSong(mec, "Meadows", "Sleeping Sam"); countryCandy.downloadSong(mec, "If I Had a Hammer", "Peter Punk"); countryCandy.downloadSong(mec, "Only You Can Rock Me", "Ronnie Rocker"); countryCandy.downloadSong(mec, "Is that My Toenail ?", "Disco Stew"); peterPunk.downloadSong(mec, "Is that My Toenail ?", "Country Candy"); peterPunk.downloadSong(mec, "Rock is Cool", "Ronnie Rocker"); peterPunk.downloadSong(mec, "What?", "Ronnie Rocker"); peterPunk.downloadSong(mec, "Meadows", "Sleeping Sam"); // Display the downloaded songs System.out.println(" Here are the downloaded songs: "); for (Song s: mec.getDownloadedSongs()) System.out.println(s); // Display the downloaded songs alphabetically System.out.println(" Here are the unique downloaded songs alphabetically: "); for (Song s: mec.uniqueDownloads()) System.out.println(s); // Display the downloaded songs in order of popularity System.out.println(" Here are the downloaded songs by populariry: "); for (Pair p: mec.songsByPopularity()) System.out.println("(" + p.getKey() + " downloads) " + p.getValue()); // Display the royalties System.out.println(" Here are the royalties: "); mec.displayRoyalties(); } } 

public class MusicExchangeTestProgram { public static void main(String args[]) { // Create a new music exchange center MusicExchangeCenter mec = new MusicExchangeCenter(); // Create some users and give them some songs User discoStew = User.DiscoStew(); User sleepingSam = User.SleepingSam(); User ronnieRocker = User.RonnieRocker(); User countryCandy = User.CountryCandy(); User peterPunk = User.PeterPunk(); // Register the users, except SleepingSam discoStew.register(mec); ronnieRocker.register(mec); countryCandy.register(mec); peterPunk.register(mec); // Display the state of things before anyone logs on System.out.println("Status: " + mec); System.out.println("On-Line Users: " + mec.onlineUsers()); System.out.println("Available Songs: " + mec.allAvailableSongs() + " "); // Attempt to log on two registered users and one unregistered user discoStew.logon(mec); sleepingSam.logon(mec); // Should not work ronnieRocker.logon(mec); System.out.println("Status: " + mec); System.out.println("On-Line Users: " + mec.onlineUsers()); System.out.println("Available Songs: " + mec.allAvailableSongs() + " "); // Log on two more users countryCandy.logon(mec); peterPunk.logon(mec); System.out.println("Status: " + mec); System.out.println("On-Line Users: " + mec.onlineUsers()); System.out.println("Available Songs: " + mec.allAvailableSongs()); System.out.println("Available Songs By Jaw: " + mec.availableSongsByArtist("Jaw") + " "); // Log off three users (one is not even logged in) countryCandy.logoff(mec); discoStew.logoff(mec); sleepingSam.logoff(mec); System.out.println("Status: " + mec); System.out.println("On-Line Users: " + mec.onlineUsers()); System.out.println("Available Songs: " + mec.allAvailableSongs()); System.out.println("Available Songs By Jaw: " + mec.availableSongsByArtist("Jaw") + " "); // Log off the last two users peterPunk.logoff(mec); ronnieRocker.logoff(mec); System.out.println("Status: " + mec); System.out.println("On-Line Users: " + mec.onlineUsers()); System.out.println("Available Songs: " + mec.allAvailableSongs()); System.out.println("Available Songs By Jaw: " + mec.availableSongsByArtist("Jaw") + " "); } } 

public class Song { private String title; private String artist; private int duration; public Song() { this("", "", 0, 0); } public Song(String t, String a, int m, int s) { title = t; artist = a; duration = m * 60 + s; } public String getTitle() { return title; } public String getArtist() { return artist; } public int getDuration() { return duration; } public int getMinutes() { return duration / 60; } public int getSeconds() { return duration % 60; } public String toString() { return("\"" + title + "\" by " + artist + " " + (duration / 60) + ":" + (duration%60)); } } 
(1) The Song/ User Classes Here are simple Song and User classes that represent a song that is available at the Music Exchange Center and a user of the Music Exchange Center that logs in to download music: public class Song t private String private String private int title; artist; duration; public Song ) this("", "", 0, 0) public Song (String t, String a, int m, int s) owner- null; title-ti artist = a; duration= m * 60 + s; public String getTitle) return title; public String getArtist) return artist; public int getDuration) return duration; ) public int getMinutes) return duration 60 public int getSeconds ) I return duration % 60; (1) The Song/ User Classes Here are simple Song and User classes that represent a song that is available at the Music Exchange Center and a user of the Music Exchange Center that logs in to download music: public class Song t private String private String private int title; artist; duration; public Song ) this("", "", 0, 0) public Song (String t, String a, int m, int s) owner- null; title-ti artist = a; duration= m * 60 + s; public String getTitle) return title; public String getArtist) return artist; public int getDuration) return duration; ) public int getMinutes) return duration 60 public int getSeconds ) I return duration % 60

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2022 Grenoble France September 19 23 2022 Proceedings Part 4 Lnai 13716

Authors: Massih-Reza Amini ,Stephane Canu ,Asja Fischer ,Tias Guns ,Petra Kralj Novak ,Grigorios Tsoumakas

1st Edition

3031264118, 978-3031264115

More Books

Students also viewed these Databases questions

Question

Is SHRD compatible with individual career aspirations

Answered: 1 week ago