Java入门超简单程序Song List

题目

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:

  1. Song: the class for an individual song

  2. SongCollection: the class for a song collection.

  3. 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
 

 

发布了235 篇原创文章 · 获赞 119 · 访问量 26万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览