Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8728869
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T08:43:44+00:00 2026-06-13T08:43:44+00:00

I’m making a mock-media player program that allows the user to input,edit,delete and view

  • 0

I’m making a mock-media player program that allows the user to input,edit,delete and view all tracks. Pretty basic, I know. But I want to add a feature that allows a random entry in the array list to be printed each time “Play Random Song” is selected to simulate the shuffle function of a music player.
So my method would be like

public void playRandom()

{
System.out.println("Now Playing: " + *insert code here?* ")
} 

I have 3 array lists representing track name, track year and track artist however when I’m printing to screen I want it to be displayed in such a way it prints the artist, then a hyphen, then the track name?

My code is below:

My Main Class:
package ca1;

//imports the Random mechanism
  import java.util.Random;

//imports the scanner
  import java.util.Scanner;


public class MainClass extends UserInput {

        public String nextInt;

        public static void main(String[] args) {

      //Links to the UserInput class to create an object that stores
      //user input    
        UserInput ui = new UserInput();

      //Creates new scanner object
        Scanner input = new Scanner(System.in);

      //Declares the int "opt" so it can be used in the menu  
        int opt;



        //Calls Methods Class so methods can be used below
        Methods methodsFunctions = new Methods();


        //initial prompt only displayed when program is first ran
        System.out.println("Welcome to your music library");


        //Usig a do while loop so that the program keeps running until 
        //a specific condition is met, in this case it's when 0 is selected.
        do 
        {

          //Menu Prompts printed to the screen for the user to select from
            System.out.println("........ \n");
            System.out.println("Press 0 to Exit\n");
            System.out.println("Press 1 to Add a Song\n");
            System.out.println("Press 2 to View All Songs\n");
            System.out.println("Press 3 to Remove a Song\n");
            System.out.println("Press 4 to Edit Song Information\n");
            System.out.println("Press 5 to Play Random Song\n");
            System.out.println("Press 6 to Delete All Songs\n");

          //Monitors the next Int the user types
            opt = input.nextInt();





            //"if" statements
            if (opt == 0) 
            {
            //This corresponds to the condition of the while loop,      
            //The program will exit and print "Goodbye!" for the user.  

             System.out.println("Goodbye!");  
            } 


            else if (opt == 1)                 
            { 
             //This method allows the user to add a song to the library.
             //With the format being Title, Artist, Year.

               methodsFunctions.addEntry();
            }




            else if (opt == 2)
            {
              //This method prints the contents of the Array List to the screen  

                methodsFunctions.viewAll(); 
            } 




            else if (opt == 3)             
            {
              //This method allows the user to remove an indiviual song from
              //their music library  

                methodsFunctions.removeOne(); 
            } 



            else if (opt == 4) 
            {
              //This method allows the user to edit the data of a particular 
              //and then prints the new value on screen

                methodsFunctions.editItem();
            } 


            else if (opt == 5) 
            {    
               //This method will print out "Now playing" followed by a random
               //song to simulate a music player's shuffle effect.


                //methodsFunctions.RandomSong();
                System.out.println("Now Playing ");
            } 



            else if (opt == 6) 
            {
                //This method will clear all contents of the library.
                //It will ask the user to confirm their choice.

                methodsFunctions.clearAll();
             } 



            else 
            {
              //If the user selects an incorrect number, the console will 
              //tell the user to try again and the main menu will print again

                System.out.println("Incorrect Entry, please try again");
            }


        } //do-while loop
        while (opt > 0);

    }
}

My Methods Class:

package ca1;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;

public class Methods extends UserInput

{
 Scanner input = new Scanner (System.in);

 //Declare array lists  
 List<String> songName = new ArrayList<>();
 List<String> songArtist = new ArrayList<>();
 List<Integer> songYear = new ArrayList<>();

    UserInput ui = new UserInput();

    private Random newRandom;


            public void clearAll(){  
            System.out.println("Are you sure?");
            System.out.print("1: Yes \n2: No" + "\n");
            System.out.print("");

            int confirmDelete=input.nextInt();
            if (confirmDelete == 1){
            songName.clear();
            songYear.clear();
            System.out.println("Your music library has been cleared");
        }   

}

        public void viewAll(){  
        System.out.println("\n");
        for (int i = 0; i < songName.size(); i++){
        int counter=i+1;
        System.out.println(counter+": "+songArtist.get(i)+" - "+ songName.get(i)+ " ("     +songYear.get(i)+") ");
        }
        System.out.println("\n");
}   

    public void addEntry(){
    //System.out.print("Enter Name: ");
    String newName = ui.getString("Enter the name of the track");
    songName.add(newName);
    String newArtist = ui.getString("Who performs this track");
    songArtist.add(newArtist);
    System.out.print("What year was the track released? ");
    int newYear=input.nextInt();
    songYear.add(newYear);

    System.out.println("\n" + "Thank you, " +songName.get(songName.size()-1) + " has been   added to the library.");
    System.out.println("\n" + "Press 2 to view your library." + "\n");


    /*
    System.out.println("\n"+songName.get(songName.size()-1));
    System.out.println("\n"+songArtist.get(songArtist.size()-1));
    System.out.println("\n"+songYear.get(songYear.size()-1));
    */
} 

 public void removeOne(){       

    System.out.println(" Which song would you like to delete? (1 to "+songName.size()+")");
    viewAll();
    int remove=input.nextInt();
    if (remove >songName.size()){
        System.out.println("Invalid ");
    }
    else {
        remove--;
        System.out.println("Are you sure you would like to delete  "+songArtist.get(remove)+" - "+songName.get(remove)+" (" +songYear.get(remove)+ ") from your music library?");
        System.out.print("1: Yes \n2: No" + "\n");
        int confirmDelete=input.nextInt();
        if (confirmDelete == 1){
            songArtist.remove(remove); 
            songName.remove(remove);
            songYear.remove(remove);
            System.out.println(songName.get(remove)+ " has just been removed from your  music library");
            // viewAll();
        }       
    }
} 


   public void playRandom()
   {
      String RandomSong = (SongName.random);


       System.out("Now playing + " RandomSong);

   }            


 public void editItem(){
    viewAll();
    System.out.println("Choose the song you want to edit (1 to "+songName.size()+")");
  //prints out the contents of library with first entry being index 1
  //The library is numbered and goes as far as the index of the last entry  

    int edit=input.nextInt();       
    if (edit >songName.size()){
        System.out.println("Invalid Selection");

      //if user selects a number that corresponds to an index that's not
      //In the array list, they will be shown an error.
    }



        else{
        edit--;
        System.out.println("\n" + "Enter New Track Name: ");
        input.nextLine();
        String editName=input.nextLine();
        songName.set(edit,editName);
      //Edits the songName value of the Song object selected 

        System.out.println("\n" + "Enter New Artist ");
        String editArtist=input.nextLine();
        songArtist.set(edit,editArtist);
      //Edits the songArtist value of the Song object selected 


        System.out.println("\n" + "Enter New Year:");
        int editYear;
        editYear = input.nextInt();
        songYear.set(edit,editYear);
      //Edits the songName value of the Song object selected

        System.out.print("\n" + "Your changes have been saved:" + "\n");
        System.out.print("\n" + "This is your current library");
        viewAll();
    }
}


}  
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T08:43:45+00:00Added an answer on June 13, 2026 at 8:43 am

    Well I think you have to do something like that:

    Find out how long your array is. For example, 50 songs. Then, generate a random number between 0 and length-1.

    public void playRandom()
    {
      int randomnumber =(int)(Math.random() * (length-1));
      System.out.println("Now Playing: " + arrayOfSongName[randomnumber]);
    } 
    

    Then you have a random track.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
I need to clean up various Word 'smart' characters in user input, including but
Let's say I'm outputting a post title and in our database, it's Hello Y&#8217;all
link Im having trouble converting the html entites into html characters, (&# 8217;) i
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have a small JavaScript validation script that validates inputs based on Regex. I
I've got a string that has curly quotes in it. I'd like to replace
I have a French site that I want to parse, but am running into
I am doing a simple coin flipping experiment for class that involves flipping a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.