Java Programming (MindTap Course List)
Java Programming (MindTap Course List)
8th Edition
ISBN: 9781285856919
Author: Joyce Farrell
Publisher: Cengage Learning
bartleby

Concept explainers

Expert Solution & Answer
Book Icon
Chapter 9, Problem 3PE

a.

Explanation of Solution

Program:

File name: “Recording.java

//Define a class named Recording

public class Recording

{

    //Declare the variables

    private String song;

    private String artist;

    private int playTime;

    //Define a set method that takes the Recording’s title

    public void setSong(String title)

    {

        //Assign the value

        song = title;

    }

    //Define a set method that takes the Recording’s artist

    public void setArtist(String name)

    {

        //Assign the value

        artist = name;

    }

    /*Define a set method that takes the Recording’s playing time*/

    public void setPlayTime(int time)

 �...

b.

Explanation of Solution

Program:

File name: “RecordingSort.java

//Import necessary header files

import javax.swing.*;

//Define a class named RecordingSort

public class RecordingSort

{

    //Define a main method

    public static void main(String[] args)

    {

        //Declare an array of five Recording objects

        Recording[] recordings = new Recording[5];

        //Declare the variables

        int x;

        String song, artist, timeString, order, message = "";

        int time;

        //For loop to be executed until x exceeds 5

        for(x = 0; x < recordings.length; ++x)

        {

            //Prompt the user to enter a song for recording

            song = JOptionPane.showInputDialog(null,

            "Enter a song for recording " + (x + 1));

            //Prompt the user to enter an artist for recording

            artist = JOptionPane.showInputDialog(null,

            "Enter an artist for recording " + (x + 1));

            //Prompt the user to enter the time for the recording

            timeString = JOptionPane.showInputDialog(null,

            "Enter the time for the recording in seconds" + (x + 1));

            time = Integer.parseInt(timeString);

            //Declare a temp object

            Recording temp = new Recording();

            //Function Call

            temp.setArtist(artist);

            temp.setSong(song);

            temp.setPlayTime(time);

            //Assign the value

            recordings[x] = temp;

        }

        /*Prompt the user to enter the choice of displaying

        the objects in order by song title, artist, or playing time*/

        order = JOptionPane.showInputDialog(null,

         "By which field do you want to sort?\n" +

         "(S)ong, (A)rtist, or (T)ime");

        //If the user enters a choice, song title

        if(order.charAt(0) == 'S')

            //Function call

            sortBySong(recordings);

        //If the user enters a choice, Artist

        else

        if(order.charAt(0) ==   'A')

            //Function call

            sortByArtist(recordings);

        //Else the user enters a choice, playing time

        else

            //Function call

            sortByTime(recordings);

        //For loop to be executed until x exceeds 5

        for(x = 0; x < recordings.length; ++x)

        //Print the message

message = message + "\nartist: " + recordings[x].getArtist() +

"    song: " + recordings[x].getSong() + "    time: " +

            recordings[x].getPlayTime();

        JOptionPane.showMessageDialog(null, message);

    }

    /*Define a method to sort the Recording objects in

    artist order*/

    public static void sortByArtist(Recording[] array)

    {

        //Declare the variables

        int a,b;

        Recording temp;

        String stringB, stringBPlus;

        int highSubscript = array.length - 1;

        //For loop to be executed until a exceeds highSubscript

        for(a = 0; a < highSubscript; ++a)

//For loop to be executed until b exceeds highSubscript

            for(b = 0; b < highSubscript; ++b)

            {

                stringB = array[b]...

Blurred answer
Students have asked these similar questions
7. See the code below and solve the following. public class Test { public static void main(String[] args) { int result = 0; } result = fn(2,3); System.out.println("The result is: + result); // fn(x, 1) = x // fn(x, y) = fn(x, y-1) + 2, when y>1 public static int fn(int x, int y) { if (x <= 1) return x; else return fn(x, y-1) + 2; } } 7-1. This program has a bug that leads to infinite recursion. Modify fn(int x, int y) method to fix the problem. (2 point) 7-2. Manually trace the recursive call, fn(2,3) and show the output (step by step). (2 point) 7-3. Can you identify the Base Case in recursive method fn(int x, int y)? (1 point)
6. See the code below and solve the following. import java.io.*; public class DataStream { } public static void main(String[] args) } DataOutputStream output = new DataOutputStream(new FileOutputStream("temp.dat")); output.writeUTF("Book1"); output.writeInt(85); output.writeUTF("Book2"); output.writeInt(125); output.writeUTF("Book3"); output.writeInt(70); output.close(); // ToDo: Read all data from temp.dat and print the data to the standard output (monitor) 6-1. This program has a compile error, and the message is “Unhandled exception type FileNotFoundException". How do you fix this error? (1 point) 6-2. Is FileNotFoundException a checked exception or an unchecked exception? (1 point) 6-3. What is the difference between checked exception and unchecked exception? (1 point) 6-4. Please complete the above program by reading all data from temp.dat and print the data to the standard output (monitor) by using System.out.print, System.out.println or System.out.printf method. (2 points)
Write a program that reads a list of integers from input and determines if the list is a palindrome (values are identical from first to last and last to first). The input begins with an integer indicating the length of the list that follows. Assume the list will contain a maximum of 20 integers. Output "yes" if the list is a palindrome and "no" otherwise. The output ends with a newline. Hints:   - use a for loop to populate the array based on the specified size (the first number entered)              - use a for loop to check first value with last value, second value with second from end, etc.              - if the values do not match, set a Boolean variable to flag which statement to output (yes or no)   Ex: If the input is (remember to include spaces between the numbers): 6 1 5 9 9 5 1 the output is: yes Ex: If the input is: 5 1 2 3 4 5 the output is: C++ coding
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781305480537
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT