1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
galben [10]
3 years ago
13

Write an application that instantiates five Recording objects and prompts the user for values for the data fields. Then prompt t

he user to enter which field the Recordings should be sorted by—(S)ong title, (A)rtist, or playing (T)ime. Perform the requested sort procedure, and display the Recording objects. Validations:

Computers and Technology
1 answer:
tangare [24]3 years ago
7 0

Answer:

Here is the JAVA application

Recording.java:

class Recording {  //class name

String title;  //String type variable to store the title of the song

String artist;  //String type variable to store the artist name of the song

int playingTime;  //int type variable to store the playing time of the song in seconds  

public String getTitle() {  //accessor method to get the title of the song

   return title; }   //returns the current title of song

public void setTitle(String title) {  //mutator method to set the title of song

   this.title = title;  }   // sets the title of song

public String getArtist() {  //accessor method to get the artist name of the song

  return artist; }   //returns the current artist name of song

public void setArtist(String artist) {  //mutator method to set the artist name of song

  this.artist = artist; }   //sets the artist name

public int getPlayingTime() {  //accessor method to get the playing time of the song

   return playingTime; } /  /returns the playing time of song

public void setPlayingTime(int pt) {  //mutator method to set the playing time of song

   this.playingTime = pt; }   //sets the playing time of song

public Recording(String title, String artist, int playingTime) {  //parmeterized constructor of Recording class that takes title, artist and playingTime as parameters

this.title = title;  

this.artist = artist;

this.playingTime = playingTime;  }  }

Explanation:

Here is the Main class:  

import java.util.Scanner;   //to accept input from user

public class Main {  

public static void main(String[] args) {  // start of main function

 Recording[] song = new Recording[5];  //creates object of Recording class named song to instantiate five Recording objects

 Scanner input = new Scanner(System.in);  //creates Scanner class object named input

 int i = 0;  // declare i and initialize it to -

 for (i = 0; i < song.length; i++) {  //iterates through the list of song

  int j = i + 1;  

  System.out.print("Enter the title of song " + j + ": ");  //prompts user to enter the title of song

 String title = input.nextLine();   //reads the title string from user

 System.out.print("Enter the artist of song " + j + ": ");  //prompts user to enter the artist of song

 String artist = input.nextLine();   //reads the artist string from user

System.out.print("Enter the playing time of song " + j + " in seconds: ");   //prompts user to enter the playing time of song

 String playtime = input.nextLine();  //reads the playing time string value from user

 int playingTime = Integer.parseInt(playtime);   // converts String value of playtime to integer

 song[i] = new Recording(title, artist, playingTime); }   //calls constructor of Recording class by passing title, artist and playingTime to it  

 int sort;  // for choosing which field to sort

do {  //continues to ask user to enter which field the Recordings should be sorted by

System.out.println("How should these songs be sorted? 1 for title 2 for artist 3 for playing time");  

sort = input.nextInt();  //reads user choice to sort

       if (sort > 0 && sort < 4) {  //to check if user enters a valid choice

 int a, b;  

 int max = song.length - 1;  

for (a = 0; a < max; a++) {  //iterates through the length of the song list setting an index variable a

      for (b = 0; b < max; b++) {    //iterates through the length of the song list setting an index variable b

  int c = b + 1;

     if (sort == 1) {  //if the user selects title field

       if (song[b].getTitle().compareTo(song[c].getTitle()) > 0) {  // compares title of one song with the song that comes after it

   Recording temp = song[b];  //sorts the titles using bubble sort by ordering each title to the immediate next and swapping them if they are not sorted already

   song[b] = song[c];

   song[c] = temp; } }  

   else if (sort == 2) {    //if the user selects artist field

  if (song[b].getArtist().compareTo(song[c].getArtist()) > 0) {  // compares artist of one song with the song artist  that comes after it

//sorts the artists using bubble sort by ordering each title to the immediate next and swapping them if they are not sorted already

     Recording temp = song[b];

     song[b] = song[c];

     song[c] = temp;  }  }  

   else if (sort == 3) {   //if the user selects playing time field

  if (song[b].getPlayingTime() > song[c].getPlayingTime()) {

/* compares artist of one song with the song artist  that comes after it sorts the artists using bubble sort by ordering each title to the immediate next and swapping them if they are not sorted already */

       Recording temp = song[b];

        song[b] = song[c];

         song[c] = temp;  } } } }  }  

             else {  //if user enters any invalid choice

 System.out.println("Invalid choice! Enter right choice"); }        

       } while (sort < 1 || sort > 3);  //keeps asking user to enter which field the recording to sort by until the value of sort in range of 1 to 3

for (i = 0; i < song.length; i++) {  //displays the sorted song list according to selected field

System.out.println("Song: Title: " + song[i].getTitle() + ". Artist: " + song[i].getArtist() + ". Playing time: " + song[i].getPlayingTime() + " seconds.");  }

input.close();  }  }

The output of the program is attached.

You might be interested in
TRUE/FALSE: In order to use an object in a program, its class must be defined.
FinnZ [79.3K]
Yes that is correct. True
3 0
3 years ago
Jamie has to enter the names, grades, and scores of a group of students into a worksheet. Which option will Jamie use to describ
GuDViN [60]

Answer: B. graphs

Jamie can use graphs to describe the data she enter such as names, grades and the scores of the group of students. In addition, using graphs will allow the reader to create visualization of the data, which will help the reader to easily understand and define the main purpose of the data entered.

7 0
3 years ago
Read 2 more answers
What is the abuse of electronic messaging systems to indiscriminately send unsolicited bulk messages, many of which contain hoax
Ilya [14]

I think the answer is spam
5 0
2 years ago
An organization using Robotic Process Automation (RPA) wishes to verify the quality and results of their automated processes to
damaskus [11]

Answer:

Control Center

Explanation:

The element of RPA (Robotic Process Automation) an organization should use to manage and track their automated processes is known as CONTROL CENTER.

Robotic Process Automation has various elements including:

1. Recorder

2. Development Studio

3. Plugin/Extension

4. Bot Runner

5. Control Center

Among these elements are however is the CONTROL CENTER which is considered the most significant element and functions as source control.

It enables the users to plan, manage, control, and measure the movement of a huge amount of digital actions.

4 0
3 years ago
Write a complete Java program called Rooter that gets a positive integer called "start" from the user at the command line and th
Nataly_w [17]

Answer:

The program in Java is as follows:

import java.util.*;

import java.lang.Math;

public class Rooter{

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

 int start;

 System.out.print("Start: ");

 start = input.nextInt();

 while(start<=0){

     System.out.print("Number must be positive\nStart: ");

     start = input.nextInt();  }

 while(start>=0){

     System.out.println(Math.sqrt(start));

     start--;  }

}

}

Explanation:

This declares start as integer

 int start;

This prompts the user for input

 System.out.print("Start: ");

This gets input for start

 start = input.nextInt();

The following is repeated until the user input is valid i.e. positive

<em>  while(start<=0){</em>

<em>      System.out.print("Number must be positive\nStart: ");</em>

<em>      start = input.nextInt();  }</em>

The following while loop prints the square root of each number till 0

<em>  while(start>=0){</em>

<em>      System.out.println(Math.sqrt(start));</em>

<em>      start--;  }</em>

4 0
3 years ago
Other questions:
  • A typical serial cable has
    13·1 answer
  • .exe, .msi, .msp, .inf - together, what do these filetypes indicate
    12·2 answers
  • Create a new Die object. (Refer to Die.html for documentation.)Create a loop that will iterate at least 100 times. In the loop b
    11·1 answer
  • Which key should you press to leave the cell as it originally was?
    15·1 answer
  • The mathematical constant Pi is an irrational number with value approximately 3.1415928... The precise value of this constant ca
    12·1 answer
  • I need to know thr full number of pie
    8·1 answer
  • When two or more tables share the same number of columns, and when their corresponding columns share the same or compatible doma
    12·1 answer
  • Which type(s) of license(s) allow the underlying software code to be viewed?
    15·1 answer
  • To extract detailed and comprehensive responses from your client, use the _____ questioning technique.
    5·2 answers
  • Which type of service offers a preconfigured testing environment for application developers to create new software applications
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!