Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

A. Radio station JAVA wants a class to keep track of recordings it plays. Create

ID: 3738353 • Letter: A

Question

A. Radio station JAVA wants a class to keep track of recordings it plays. Create a class named Recording that contains fields to hold methods for setting and getting a Recording's title, artist, and playing time in seconds. Save the file as Recording.java.

B. Write an application that instantiates five Recording objects and prompts the user for values for the data fields. Then prompt the user to enter which field the Recordings should be sorted by -- song title, artist, or playing time. Perform the requested sort procedure, and display the Recording objects. Save the file as RecordingSort.java.

Java Programming 8th Edition

Chapter 9 Exercise 3

Explanation / Answer

RecordingSort.java

import java.util.Arrays;

import java.util.Scanner;

public class RecordingSort {

public static void main(String[] args) {

Recording r[] = new Recording[5];

Scanner scan = new Scanner(System.in);

for(int i=0; i <r.length; i++){

System.out.println("Enter Title :");

String title = scan.nextLine();

System.out.println("Enter Artist :");

String artist = scan.nextLine();

System.out.println("Enter Time :");

int time = scan.nextInt();

scan.nextLine();

Recording rec = new Recording(title, artist, time);

r[i] = rec;

}

while(true){

System.out.println("Enter Choice for Sort : ");

System.out.println("1. Title 2. Artist 3. Time 4.Quit ");

int choice = scan.nextInt();

if(choice == 1){

Arrays.sort(r, Recording.COMPARE_BY_TITLE);

for(int i=0; i<r.length; i++){

Recording rr = r[i];

System.out.println(rr.toString());

}

}

else if(choice == 2){

Arrays.sort(r, Recording.COMPARE_BY_ARTIST);

for(int i=0; i<r.length; i++){

Recording rr = r[i];

System.out.println(rr.toString());

}

}

else if(choice == 3){

Arrays.sort(r, Recording.COMPARE_BY_TIME);

for(int i=0; i<r.length; i++){

Recording rr = r[i];

System.out.println(rr.toString());

}

}

else if(choice == 4){

System.out.println("Bye");

break;

}

else{

System.out.println("Invalid choice");

}

}

}

}

Recording.java

import java.util.Comparator;

public class Recording{

private String artist;

private String title;

private int time;

public Recording(){

}

public Recording(String title, String artist, int time){

this.artist = artist;

this.title = title;

this.time = time;

}

public String getArtist() {

return artist;

}

public void setArtist(String artist) {

this.artist = artist;

}

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public int getTime() {

return time;

}

public void setTime(int time) {

this.time = time;

}

public String toString(){

return "Title :"+title+" Artist :"+artist+" Time :"+time;

}

public static Comparator<Recording> COMPARE_BY_TITLE = new Comparator<Recording>() {

public int compare(Recording p1, Recording p2){

return p1.getTitle().compareTo(p2.getTitle());

}

};

  

public static Comparator<Recording> COMPARE_BY_ARTIST = new Comparator<Recording>() {

public int compare(Recording p1, Recording p2){

return p1.getArtist().compareTo(p2.getArtist());

}

};

  

public static Comparator<Recording> COMPARE_BY_TIME = new Comparator<Recording>() {

public int compare(Recording p1, Recording p2){

return p1.getTime() - p2.getTime();

}

};   

}

Output:

Enter Title :
aaaa
Enter Artist :
cccc
Enter Time :
30
Enter Title :
vvvv
Enter Artist :
ggg
Enter Time :
60
Enter Title :
rrrr
Enter Artist :
nnn
Enter Time :
11
Enter Title :
hhh
Enter Artist :
jjj
Enter Time :
77
Enter Title :
bbb
Enter Artist :
ccc
Enter Time :
21
Enter Choice for Sort :

1. Title
2. Artist
3. Time
4.Quit
1
Title :aaaa Artist :cccc Time :30
Title :bbb Artist :ccc Time :21
Title :hhh Artist :jjj Time :77
Title :rrrr Artist :nnn Time :11
Title :vvvv Artist :ggg Time :60
Enter Choice for Sort :

1. Title
2. Artist
3. Time
4.Quit
2
Title :bbb Artist :ccc Time :21
Title :aaaa Artist :cccc Time :30
Title :vvvv Artist :ggg Time :60
Title :hhh Artist :jjj Time :77
Title :rrrr Artist :nnn Time :11
Enter Choice for Sort :

1. Title
2. Artist
3. Time
4.Quit
3
Title :rrrr Artist :nnn Time :11
Title :bbb Artist :ccc Time :21
Title :aaaa Artist :cccc Time :30
Title :vvvv Artist :ggg Time :60
Title :hhh Artist :jjj Time :77
Enter Choice for Sort :

1. Title
2. Artist
3. Time
4.Quit
4
Bye

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote