题目
The goal of this project is to write an application for maintaining a list of songs. Each song has two pieces of information, its title and artist.
The application allows to add data from file, save data to file, search in the data for songs with a key phrase appearing either in the title or in the artist, add new song, delete a specific song, and change title/artist of a specific song.
The application consists of three class files:
-
Song: the class for an individual song
-
SongCollection: the class for a song collection.
-
SongMain: This is the main class. The program execution is by way of the command java SongMain.
A song data file takes the following form.
-
The first line is the number of songs stored in the data file.
-
After the first line, the songs appear in two lines each, the first line being the title and the second being the artist.
For example, the following is a data file consisting of 5 songs:
5 Like A Rolling Stone Bob Dylan Satisfaction The Rolling Stones Imagine John Lennon What’s Going On Marvin Gaye Respect Aretha Franklin
The same for format should be used when writing to a file. To read from a file, you use the nextLine method of Scanner. You can obtain the integer that a String data, say w, represents by calling Integer.parseInt( w ).
The class Song
Naturally, we want to use two String instance variables to record the title and the artist. The constructor for the class may take two String values and store them in their respective instance variables. There are two methods, both of which are getters, that need to be implemented:
public String getTitle()
public String getArtist()
The class SongCollection
In this class, we need just one private instance variable:
Song[] theSongs;
The methods to be implemented are:
public int size()
public void addFromFile( File f )
public void writeToFile( File f )
public void addOneSong( String t, String a )
public void delete( int pos )
public void searchByTitle( String key )
public void searchByArtist( String key )
public void show( int start, int end )
The expected actions of these methods are as follows:
1. The method size() returns the number of elements in the array theSongs.
2. The method addFromFile( File f ) reads data from file, in the following manner.
(a) First, it creates a new scanner to read from f. It encases the creation in try-catch so that if FileNotFoundException occurs, then the method prints an error message and returns immediately.
(b) Second, the method reads the first line of the file and converts it to an integer. This integer represents the number of additional slots.
(c) Third, the method creates a new array of Song objects whose dimension is the current size + the additional number of elements. This can be achieved by
Song[] merged = Arrays.copyOf( theSongs, NEW_ARRAY_LENGTH );
(d) After that, the methods reads data from the file in pairs of lines and stores the data in the new slot.
(e) At the end of it copies merged to the array by
theSongs = merged;
3. The method writeToFile( File f ) writes the data to the file f. The same error handling as in addFromFile is needed.
4.The method addOneSong( String t, String a ) adds a song specified by t as the title and a as the artist. The way the method works is very similar to the way addFromFile does. The differences are (a) the increase in the array length is 1 and (b) the new element shall be stored at the end of the new array.
5.The method delete( int pos ) deletes the element at position pos, if the value of pos is valid.
6.The method searchByTitle( Sting key ) prints all the songs whose title contains key along with their index values. You can use the method indexOf( key ) on the value returned by the method getTitle.
7.The method searchByArtist( Sting key ) prints all the songs whose artist contains key along with their index values. You can use the method indexOf( key ) on the value returned by the method getArtist.
8.The method show( int start, int end ) prints all the songs whose index values are greater than or equal to start and strictly smaller than end. Adjustments of the values may be needed when start < 0 or when end > theSongs.length.
The class SongMain
This consists of one method, which is main. The method presents to the user command choices, receives the choice of command by a number (you can use Integer.parseInt( keyboard.nextLine()), where keyboard is the Scanner object you instantiate in your program as the Scanner to read from the keyboard). You can then use a switch statement to respond to the choice made.
Here is an execution example of the program.
% java SongMain
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 4
Enter file name: songs-data.txt
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 2
Enter title search key: Heaven
30: Stairway To Heaven, Led Zeppelin
189: Knocking On Heaven’s Door, Bob Dylan
352: Tears In Heaven, Eric Clapton
409: Monkey Gone To Heaven, Pixies
482: Just Like Heaven, The Cure
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 3
Enter artist search key: Sabbath
249: Paranoid, Black Sabbath
309: Iron Man, Black Sabbath
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 4
Enter file name: Sabbath Bloody Sabbath
*** File Not Found ***
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 6
Enter title: Sabbath Bloody Sabbath
Enter artist: Black Sabbath
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 2
Enter title search key: Blood
267: Sunday Bloody Sunday, U2
413: Young Blood, The Coasters
500: Sabbath Bloody Sabbath, Black Sabbath
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 7
Enter position: 267
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 1
***
*** Size = 500
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 8
Enter start position: 10
Enter end position: 25
10: My Generation, The Who
11: A Change Is Gonna Come, Sam Cooke
12: Yesterday, The Beatles
13: Blowin’ In The Wind, Bob Dylan
14: London Calling, The Clash
15: I Want To Hold Your Hand, The Beatles
16: Purple Haze, Jimi Hendrix
17: Maybellene, Chuck Berry
18: Hound Dog, Elvis Presley
19: Let It Be, The Beatles
20: Born To Run, Bruce Springsteen
21: Be My Baby, The Ronettes
22: In My Life, The Beatles
23: People Get Ready, The Impressions
24: God Only Knows, The Beach Boys
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 5
Enter file name: foo.txt
========Select action========
0. Quit
1. Get collection size
2. Search for title
3. Search for artist
4. Add from file
5. Save to file
6. Add one song
7. Remove one song
8. Show
Enter choice: 0
Attached to this assignment are three text files
• songs-data.txt: The Rolling Stone Top 500 song of all time.
• songs-beatles.txt: The list of songs recorded by The Beatles.
• songs-zeppelin.txt: The list of songs recorded by Led Zeppelin in their official albums. Here is the best strategy to accomplish the goal:
Step 1 Write Song.java.
Step 2 Write the bare-minimum version of SongCollection.java, which consists of the construc- tor, the implements, the private instance variable declaration, and an implementation of the method size. The rest of the required methods can have empty body.
in this version.
Step 3 Write the bare-minimum version of SongMain. In the bare-minimum version, the program uses a do-while loop, in which the presents the command choices to the user, receives input from the user, and then uses a switch-statement with which the execution is directed but the action is yet to be typed except for the break at the end of each case. Make sure that the loop terminates if the user enters 0 for the action.
Step 4 Add actions one after another by editing both SongMain and SongCollection.
输入用的的文件
song_data.txt
第一行是歌曲的数量,接下来,每两行为一个单位,两行中的第一行是歌曲名,两行中的第二行是作者名,具体内容请参照文章的末尾。
解题代码
Song.java
public class Song {
private String title;
private String artist;
public Song(String title, String artist) {
this.title = title;
this.artist = artist;
}
public String getTitle() {
return title;
}
public String getArtist() {
return artist;
}
}
SongCollection.java
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
public class SongCollection {
private Song[] theSongs;
public SongCollection() {
this.theSongs = new Song[0];
}
public int size() {
return theSongs.length;
}
public void addFromFile(File f) {
try {
Scanner sc = new Scanner(f);
int n = Integer.valueOf(sc.nextLine());
int NEW_ARRAY_LENGTH = this.theSongs.length + n;
Song[] merged = Arrays.copyOf(theSongs, NEW_ARRAY_LENGTH);
for (int i = this.theSongs.length; i < NEW_ARRAY_LENGTH; i++) {
String title = sc.nextLine();
String artist = sc.nextLine();
merged[i] = new Song(title, artist);
}
this.theSongs = merged;
} catch (IOException e) {
System.out.println("*** File Not Found ***");
}
}
public void writeToFile(File f) {
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(f));
bw.write(String.valueOf(theSongs.length)+"\n");
for (Song s : theSongs) {
bw.write(s.getTitle()+'\n');
bw.write(s.getArtist()+'\n');
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bw != null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void addOneSong(String t, String a) {
int NEW_ARRAY_LENGTH = this.theSongs.length + 1;
Song[] merged = Arrays.copyOf(theSongs, NEW_ARRAY_LENGTH);
merged[this.theSongs.length] = new Song(t, a);
this.theSongs = merged;
}
public void delete(int pos) {
Song[] merged = new Song[size() - 1];
for (int i = 0; i < pos; i++) {
merged[i] = theSongs[i];
}
for (int i = pos; i < size() - 1; i++) {
merged[i] = theSongs[i + 1];
}
theSongs = merged;
}
public void searchByTitle(String key) {
for (int i = 0; i < size(); i++) {
String t = theSongs[i].getTitle();
if (t.contains(key)) {
System.out.println(i + ": " + t + ", " + theSongs[i].getTitle());
}
}
}
public void searchByArtist(String key) {
for (int i = 0; i < size(); i++) {
String songArtist = theSongs[i].getArtist();
if (songArtist.contains(key)) {
System.out.println(i + ": " + theSongs[i].getTitle() + ", " + songArtist);
}
}
}
public void show(int start, int end) {
if (start < 0 || end > size()) {
return;
}
for (int i = start; i < end; i++) {
System.out.println(theSongs[i]);
}
}
}
SongMain.java
import java.io.File;
import java.util.Scanner;
public class SongMain {
public static void main(String[] args) {
SongCollection songCollection = new SongCollection();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("========Select action========\n" +
"0. Quit\n" +
"1. Get collection size\n" +
"2. Search for title\n" +
"3. Search for artist\n" +
"4. Add from file\n" +
"5. Save to file\n" +
"6. Add one song\n" +
"7. Remove one song\n" +
"8. Show\n" +
"Enter choice: ");
int choice = Integer.valueOf(scanner.nextLine());
if (choice == 0) {
break;
}
switch (choice) {
case 1:
System.out.println("*** Size = " + songCollection.size());
break;
case 2:
System.out.println("Enter title search key:");
String key = scanner.nextLine();
songCollection.searchByTitle(key);
break;
case 3:
System.out.println("Enter artist search key: ");
String key2 = scanner.nextLine();
songCollection.searchByArtist(key2);
break;
case 4:
System.out.println("Enter file name: ");
String filename = scanner.nextLine();
songCollection.addFromFile(new File(filename));
break;
case 5:
System.out.println("Enter file name: ");
String resultFile = scanner.nextLine();
songCollection.writeToFile(new File(resultFile));
break;
case 6:
System.out.println("Enter title: ");
String title = scanner.nextLine();
System.out.println("Enter artist: ");
String artist = scanner.nextLine();
songCollection.addOneSong(title, artist);
break;
case 7:
System.out.println("Enter position: ");
int n = Integer.valueOf(scanner.nextLine());
songCollection.delete(n);
break;
case 8:
System.out.println("Enter start position: ");
int start = Integer.valueOf(scanner.nextLine());
System.out.println("Enter end position: ");
int end = Integer.valueOf(scanner.nextLine());
songCollection.show(start, end);
break;
default:
}
}
}
}
song_data.txt
第一行是歌曲的数量,接下来,每两行为一个单位,两行中的第一行是歌曲名,两行中的第二行是作者名
500 Like A Rolling Stone Bob Dylan Satisfaction The Rolling Stones Imagine John Lennon What's Going On Marvin Gaye Respect Aretha Franklin Good Vibrations The Beach Boys Johnny B. Goode Chuck Berry Hey Jude The Beatles Smells Like Teen Spirit Nirvana What'd I Say Ray Charles My Generation The Who A Change Is Gonna Come Sam Cooke Yesterday The Beatles Blowin' In The Wind Bob Dylan London Calling The Clash I Want To Hold Your Hand The Beatles Purple Haze Jimi Hendrix Maybellene Chuck Berry Hound Dog Elvis Presley Let It Be The Beatles Born To Run Bruce Springsteen Be My Baby The Ronettes In My Life The Beatles People Get Ready The Impressions God Only Knows The Beach Boys A Day In The Life The Beatles Layla Derek And The Dominos (Sittin On) The Dock Of The Bay Otis Redding Help! The Beatles I Walk The Line Johnny Cash Stairway To Heaven Led Zeppelin Sympathy For The Devil The Rolling Stones River Deep - Mountain High Ike And Tina Turner You've Lost That Lovin' Feelin' The Righteous Brothers Light My Fire The Doors One U2 No Woman, No Cry Bob Marley And The Wailers Gimme Shelter The Rolling Stones That'll Be The Day Buddy Holly And The Crickets Dancing In The Street Martha And The Vandellas The Weight The Band Waterloo Sunset The Kinks Tutti-Frutti Little Richard Georgia On My Mind Ray Charles Heartbreak Hotel Elvis Presley Heroes David Bowie Bridge Over Troubled Water Simon And Garfunkel All Along The Watchtower Jimi Hendrix Hotel California The Eagles The Tracks Of My Tears Smokey Robinson And The Miracles The Message Grandmaster Flash And The Furious Five When Doves Cry Prince Anarchy In The U.K. The Sex Pistols When A Man Loves A Woman Percy Sledge Louie Louie The Kingsmen Long Tall Sally Little Richard Whiter Shade Of Pale Procol Harum Billie Jean Michael Jackson The Times They Are A-Changin' Bob Dylan Let's Stay Together Al Green Whole Lotta Shakin' Goin On Jerry Lee Lewis Bo Diddley Bo Diddley For What It's Worth Buffalo Springfield She Loves You The Beatles Sunshine Of Your Love Cream Redemption Song Bob Marley And The Wailers Jailhouse Rock Elvis Presley Tangled Up In Blue Bob Dylan Crying Roy Orbison Walk On By Dionne Warwick California Girls The Beach Boys Papa's Got A Brand New Bag James Brown Summertime Blues Eddie Cochran Superstition Stevie Wonder Whole Lotta Love Led Zeppelin Strawberry Fields Forever The Beatles Mystery Train Elvis Presley I Got You (I Feel Good) James Brown Mr. Tambourine Man The Byrds I Heard It Through The Grapevine Marvin Gaye Blueberry Hill Fats Domino You Really Got Me The Kinks Norwegian Wood (This Bird Has Flown) The Beatles Every Breath You Take The Police Crazy Patsy Cline Thunder Road Bruce Springsteen Ring Of Fire Johnny Cash My Girl The Temptations California Dreamin' The Mamas And The Papas In The Still Of The Nite The Five Satins Suspicious Minds Elvis Presley Blitzkrieg Bop Ramones I Still Haven't Found What I'm Looking For U2 Good Golly, Miss Molly Little Richard Blue Suede Shoes Carl Perkins Great Balls Of Fire Jerry Lee Lewis Roll Over Beethoven Chuck Berry Love And Happiness Al Green Fortunate Son Creedence Clearwater Revival You Can't Always Get What You Want The Rolling Stones Voodoo Child (Slight Return) Jimi Hendrix Be-Bop-A-Lula Gene Vincent And His Blue Caps Hot Stuff Donna Summer Living For The City Stevie Wonder The Boxer Simon And Garfunkel Mr. Tambourine Man Bob Dylan Not Fade Away Buddy Holly And The Crickets Little Red Corvette Prince Brown Eyed Girl Van Morrison I've Been Loving You Too Long (to Stop Now) Otis Redding I'm So Lonesome I Could Cry Hank Williams That's All Right Elvis Presley Up On The Roof The Drifters Da Doo Ron Ron (When He Walked Me Home) The Crystals You Send Me Sam Cooke Honky Tonk Women The Rolling Stones Take Me To The River Al Green Shout (Parts 1 And 2) The Isley Brothers Go Your Own Way Fleetwood Mac I Want You Back The Jackson 5 Stand By Me Ben E. King House Of The Rising Sun The Animals It's A Man's Man's Man's World James Brown Jumpin' Jack Flash The Rolling Stones Will You Love Me Tomorrow The Shirelles Shake, Rattle & Roll Big Joe Turner Changes David Bowie Rock & Roll Music Chuck Berry Born To Be Wild Steppenwolf Maggie May Rod Stewart With Or Without You U2 Who Do You Love Bo Diddley Won't Get Fooled Again The Who In The Midnight Hour Wilson Pickett While My Guitar Gently Weeps The Beatles Your Song Elton John Eleanor Rigby The Beatles Family Affair Sly And The Family Stone I Saw Her Standing There The Beatles Kashmir Led Zeppelin All I Have To Do Is Dream The Everly Brothers Please, Please, Please James Brown Purple Rain Prince I Wanna Be Sedated The Ramones Everyday People Sly And The Family Stone Rock Lobster The B-52's Lust For Life Iggy Pop Me And Bobby McGee Janis Joplin Cathy's Clown The Everly Brothers Eight Miles High The Byrds Earth Angel The Penguins Foxey Lady Jimi Hendrix A Hard Day's Night The Beatles Rave On Buddy Holly And The Crickets Proud Mary Creedence Clearwater Revival The Sounds Of Silence Simon And Garfunkel I Only Have Eyes For You The Flamingos (We're Gonna) Rock Around The Clock Bill Haley And His Comets I'm Waiting For The Man The Velvet Underground Bring The Noise Public Enemy I Can't Stop Loving You Ray Charles Nothing Compares 2 U Sinead O'Connor Bohemian Rhapsody Queen Folsom Prison Blues Johnny Cash Fast Car Tracy Chapman Lose Yourself Eminem Let's Get It On Marvin Gaye Papa Was A Rollin' Stone The Temptations Losing My Religion R.E.M. Both Sides Now Joni Mitchell Dancing Queen Abba Dream On Aerosmith God Save The Queen The Sex Pistols Paint It Black The Rolling Stones I Fought The Law The Bobby Fuller Four Don't Worry Baby The Beach Boys Free Fallin' Tom Petty September Gurls Big Star Love Will Tear Us Apart Joy Division Hey Ya! Outkast Green Onions Booker T. And The MG's Save The Last Dance For Me The Drifters The Thrill Is Gone B.B. King Please Please Me The Beatles Desolation Row Bob Dylan I Never Loved A Man (The Way I Love You) Aretha Franklin Back In Black AC/DC Who'll Stop The Rain Creedence Clearwater Revival Stayin' Alive The Bee Gees Knocking On Heaven's Door Bob Dylan Free Bird Lynyrd Skynyrd Wichita Lineman Glen Campbell There Goes My Baby The Drifters Peggy Sue Buddy Holly Maybe The Chantels Sweet Child O' Mine Guns N' Roses Don't Be Cruel Elvis Presley Hey Joe Jimi Hendrix Flash Light Parliament Loser Beck Bizarre Love Triangle New Order Come Together The Beatles Positively 4th Street Bob Dylan Try A Little Tenderness Otis Redding Lean On Me Bill Withers Reach Out, I'll Be There The Four Tops Bye Bye Love The Everly Brothers Gloria Them In My Room The Beach Boys 96 Tears ? And The Mysterians Caroline, No The Beach Boys 1999 Prince Your Cheatin' Heart Hank Williams Rockin' In The Free World Neil Young Sh-Boom The Chords Do You Believe In Magic The Lovin' Spoonful Jolene Dolly Parton Boom Boom John Lee Hooker Spoonful Howlin' Wolf Walk Away Renee The Left Banke Walk On The Wild Side Lou Reed Oh, Pretty Woman Roy Orbison Dance To The Music Sly And The Family Stone Good Times Chic Hoochie Coochie Man Muddy Waters Moondance Van Morrison Fire And Rain James Taylor Should I Stay Or Should I Go The Clash Mannish Boy Muddy Waters Just Like A Woman Bob Dylan Sexual Healing Marvin Gaye Only The Lonely Roy Orbison We Gotta Get Out Of This Place The Animals I'll Feel A Whole Lot Better The Byrds I Got A Woman Ray Charles Everyday Buddy Holly And The Crickets Planet Rock Afrika Bambaataa And The Soul Sonic Force I Fall To Pieces Patsy Cline The Wanderer Dion Son Of A Preacher Man Dusty Springfield Stand! Sly And The Family Stone Rocket Man Elton John Love Shack The B-52's Gimme Some Lovin' The Spencer Davis Group The Night They Drove Old Dixie Down The Band (Your Love Keeps Lifting Me) Higher And Higher Jackie Wilson Hot Fun In The Summertime Sly And The Family Stone Rappers Delight The Sugarhill Gang Chain Of Fools Aretha Franklin Paranoid Black Sabbath Mack The Knife Bobby Darin Money Honey The Drifters All The Young Dudes Mott The Hoople Highway To Hell AC/DC Heart Of Glass Blondie Paranoid Android Radiohead Wild Thing The Troggs I Can See For Miles The Who Hallelujah Jeff Buckley Oh, What A Night The Dells Higher Ground Stevie Wonder Ooo Baby Baby Smokey Robinson He's A Rebel The Crystals Sail Away Randy Newman Tighten Up Archie Bell And The Drells Walking In The Rain The Ronettes Personality Crisis New York Dolls Sunday Bloody Sunday U2 Roadrunner The Modern Lovers He Stopped Loving Her Today George Jones Sloop John B The Beach Boys Sweet Little Sixteen Chuck Berry Something The Beatles Somebody To Love Jefferson Airplane Born In The U.S.A. Bruce Springsteen I'll Take You There The Staple Singers Ziggy Stardust David Bowie Pictures Of You The Cure Chapel Of Love The Dixie Cups Ain't No Sunshine Bill Withers You Are The Sunshine Of My Life Stevie Wonder Help Me Joni Mitchell Call Me Blondie (What's So Funny 'Bout) Peace Love And Understanding? Elvis Costello And The Attractions Smoke Stack Lightning Howlin' Wolf Summer Babe Pavement Walk This Way Run-DMC Money (That's What I Want) Barrett Strong Can't Buy Me Love The Beatles Stan Eminem Featuring Dido She's Not There The Zombies Train In Vain The Clash Tired Of Being Alone Al Green Black Dog Led Zeppelin Street Fighting Man The Rolling Stones Get Up, Stand Up Bob Marley And The Wailers Heart Of Gold Neil Young One Way Or Another Blondie Sign 'O' The Times Prince Like A Prayer Madonna Do Ya Think I'm Sexy? Rod Stewart Blue Eyes Crying In The Rain Willie Nelson Ruby Tuesday The Rolling Stones With A Little Help From My Friends The Beatles Say It Loud -- I'm Black And Proud James Brown That's Entertainment The Jam Why Do Fools Fall In Love Frankie Lymon And The Teenagers Lonely Teardrops Jackie Wilson What's Love Got To Do With It Tina Turner Iron Man Black Sabbath Wake Up Little Susie The Everly Brothers In Dreams Roy Orbison I Put A Spell On You Screamin' Jay Hawkins Comfortably Numb Pink Floyd Don't Let Me Be Misunderstood The Animals Wish You Were Here Pink Floyd Many Rivers To Cross Jimmy Cliff Alison Elvis Costello School's Out Alice Cooper Heartbreaker Led Zeppelin Cortez The Killer Neil Young Fight The Power Public Enemy Dancing Barefoot Patti Smith Group Baby Love The Supremes Good Lovin' The Young Rascals Get Up (I Feel Like Being A) Sex Machine James Brown For Your Precious Love Jerry Butler And The Impressions The End The Doors That's The Way Of The World Earth, Wind And Fire We Will Rock You Queen I Can't Make You Love Me Bonnie Raitt Subterranean Homesick Blues Bob Dylan Spirit In The Sky Norman Greenbaum Wild Horses The Rolling Stones Sweet Jane The Velvet Underground Walk This Way Aerosmith Beat It Michael Jackson Maybe I'm Amazed Paul McCartney You Keep Me Hanging On The Supremes Baba O'Riley The Who The Harder They Come Jimmy Cliff Runaround Sue Dion Jim Dandy Lavern Baker Piece Of My Heart Big Brother And The Holding Company La Bamba Ritchie Valens California Love Dr. Dre And 2Pac Candle In The Wind Elton John That Lady (Part 1 And 2) The Isley Brothers Spanish Harlem Ben E. King The Locomotion Little Eva The Great Pretender The Platters All Shook Up Elvis Presley Tears In Heaven Eric Clapton Watching The Detectives Elvis Costello Bad Moon Rising Creedence Clearwater Revival Sweet Dreams (Are Made Of This) Eurythmics Little Wing Jimi Hendrix Nowhere To Run Martha And The Vandellas Got My Mojo Working Muddy Waters Killing Me Softly With His Song Roberta Flack Complete Control The Clash All You Need Is Love The Beatles The Letter The Box Tops Highway 61 Revisited Bob Dylan Unchained Melody The Righteous Brothers How Deep Is Your Love The Bee Gees White Room Cream Personal Jesus Depeche Mode I'm A Man Bo Diddley The Wind Cries Mary Jimi Hendrix I Can't Explain The Who Marquee Moon Television Wonderful World Sam Cooke Brown Eyed Handsome Man Chuck Berry Another Brick In The Wall Part 2 Pink Floyd Fake Plastic Trees Radiohead Hit The Road Jack Ray Charles Pride (In The Name Of Love) U2 Radio Free Europe R.E.M. Goodbye Yellow Brick Road Elton John Tell It Like It Is Aaron Neville Bitter Sweet Symphony The Verve Whipping Post The Allman Brothers Band Ticket To Ride The Beatles Ohio Crosby, Stills, Nash And Young I Know You Got Soul Eric B And Rakim Tiny Dancer Elton John Roxanne The Police Just My Imagination The Temptations Baby I Need Your Loving The Four Tops Band Of Gold Freda Payne O-o-h Child The Five Stairsteps Summer In The City The Lovin' Spoonful Can't Help Falling In Love Elvis Presley Remember (Walkin' In The Sand) The Shangri-Las Thirteen Big Star (Don't Fear) The Reaper Blue Oyster Cult Sweet Home Alabama Lynyrd Skynyrd Enter Sandman Metallica Kicks Paul Revere And The Raiders Tonight's The Night The Shirelles Thank You (Falettinme Be Mice Elf Agin) Sly & The Family Stone C'mon Everybody Eddie Cochran Visions Of Johanna Bob Dylan We've Only Just Begun The Carpenters I Believe I Can Fly R. Kelly In Bloom Nirvana Sweet Emotion Aerosmith Crossroads Cream Monkey Gone To Heaven Pixies I Feel Love Donna Summer Ode To Billie Joe Bobbie Gentry The Girl Can't Help It Little Richard Young Blood The Coasters I Can't Help Myself The Four Tops The Boys Of Summer Don Henley Fuck Tha Police N.W.A. Suite: Judy Blue Eyes Crosby, Stills And Nash Nuthin' But A 'G' Thang Dr. Dre It's Your Thing The Isley Brothers Piano Man Billy Joel Lola The Kinks Blue Suede Shoes Elvis Presley Tumbling Dice The Rolling Stones William, It Was Really Nothing The Smiths Smoke On The Water Deep Purple New Year's Day U2 Devil With A Blue Dress On/Good Golly Miss Molly Mitch Ryder And The Detroit Wheels Everybody Needs Somebody To Love Solomon Burke White Man In Hammersmith Palais The Clash Ain't It A Shame Fats Domino Midnight Train To Georgia Gladys Knight And The Pips Ramble On Led Zeppelin Mustang Sally Wilson Pickett Beast Of Burden The Rolling Stones Alone Again Or Love Love Me Tender Elvis Presley I Wanna Be Your Dog The Stooges Pink Houses John Cougar Mellencamp Push It Salt-n-Pepa Come Go With Me The Del-Vikings Keep A Knockin' Little Richard I Shot The Sheriff Bob Marley And The Whailers I Got You Babe Sonny And Cher Come As You Are Nirvana Pressure Drop Toot And The Maytals Leader Of The Pack The Shangri-Las Heroin The Velvet Underground Penny Lane The Beatles By The Time I Get To Phoenix Glem Campbell The Twist Chubby Checker Cupid Sam Cooke Paradise City Guns N' Roses My Sweet Lord George Harrison All Apologies Nirvana Stagger Lee Lloyd Price Sheena Is A Punk Rocker Ramones Soul Man Sam And Dave Rollin' Stone Muddy Waters One Fine Day The Chiffons Kiss Prince Respect Yourself The Staple Singers Rain The Beatles Standing In The Shadows Of Love The Four Tops Surrender Cheap Trick Runaway Del Shannon Welcome To The Jungle Guns N' Roses Search And Destroy The Stooges It's Too Late Carole King Free Man In Paris Joni Mitchell On The Road Again Willie Nelson Where Did Our Love Go The Supremes Do Right Woman, Do Right Man Aretha Franklin One Nation Under A Groove Funkadelic Sabotage Beastie Boys I Want To Know What Love Is Foreigner Super Freak Rick James White Rabbit Jefferson Airplane Lady Marmalade Labelle Into The Mystic Van Morrison Young Americans David Bowie I'm Eighteen Alice Cooper Just Like Heaven The Cure I Love Rock 'N Roll Joan Jett Graceland Paul Simon How Soon Is Now? The Smiths Under The Boardwalk The Drifters Rhiannon (Will You Ever Win) Fleetwood Mac I Will Survive Gloria Gaynor Brown Sugar The Rolling Stones You Don't Have To Say You Love Me Dusty Springfield Running On Empty Jackson Browne Then He Kissed Me The Crystals Desperado The Eagles Shop Around Smokey Robinson And The Miracles Miss You The Rolling Stones Buddy Holly Weezer Rainy Night In Georgia Brook Benton The Boys Are Back In Town Thin Lizzy More Than A Feeling Boston |