Skip to main content

june 12 tcs cpa java coding question.

Create a class song with the below attributes.
songId=int
title=String
artist=String
duration=double

the above attributes should be private  write getter and setter
and parametrized constructor as required .

create class cpa12june with main method.

Implement two static methods -
 findSongDurationForArtist and
getSongsInAscendingOrder in cpa12june class.

findSongDurationForArtist method- this method will take two
input parameters -array of Song objects and String parameter.
The method will  return the sum of the song duration from the
array of the Song objects for the given artists(Sttring parameter
passed).
  if no song with the given artist is present  in the array of Song
objects.then the method should return zero.

getSongsInAscendingOrder method-
   this method will take 2 input parameters-array of the  Song
objects and the String parameter.
this method will return Song object array in an ascending
order of their duration ,from the array of Song objects
whose artist attribute matches with the input String parameter.
   if no Song  with the given artist is present in the array
of the Song objects, then the method should return null.

for findSongDurationForArtist method- The main method should
print  the sum of the duration of artist as it is, if the returned
value is greater than 0, or it should print "There are no songs
with given artist".

for getSongsInAscendingOrder method-
                      the main method should print the songId
And title of each Song object from the returned song object
array if the returned value is not null.
if the returned value is null  then it should print "There  are
no songs with given artist".



input1:
2150
In Time
Justin Timberlake
4
250
Cry Me
Justin Timberlake
3
1200
Mirrors
Justin Timberlake
5
1300
That's the way it is
Celion Dion
5
500
Ashes
celion Dion
3
Celion Dion
Justin Timberlake

Output1:
8.0
250
Cry Me
2150
In Time
1200
Mirrors


input 2:
2150
Cry Me
Justin Timberlake
3
1000
Why Not
Enrique Iglesius
5
1200
Mirrors
Justin Timberlake
5
1300
That's the way it is
Celion Dion
5
500
Ashes
celion Dion
3
Bryan Adams
Michael Larkson

output 2:
There are no songs with given artist
There are no songs with given artist


 

 code:

 



import java.util.Arrays;
import java.util.Scanner;

public class cpa12june {
    public static void main(String[] args) {
        Song[] songs=new Song[5];
        Scanner sc=new Scanner(System.in);
        for (int i = 0; i <songs.length ; i++) {
            int a=sc.nextInt();
            sc.nextLine();
            String b=sc.nextLine();
            String c=sc.nextLine();
            double d=sc.nextDouble();
            sc.nextLine();
            songs[i]=new Song(a,b,c,d);
        }
        String input1=sc.nextLine();
        String input2=sc.nextLine();

          double ans1=findSongDurationForArtist(songs,input1);
          if(ans1==0)
          {
              System.out.println("There is no songs with given artist");
          }
          else
          {
              System.out.println(ans1);
          }

        Song[] ans2=  getSongsInAscendingOrder(songs,input2);
          if(ans2==null)
          {
              System.out.println("There are no songs with given artist");
          }
          else
          {
              for (int i = 0; i <ans2.length ; i++) {
                  System.out.println(ans2[i].songId);
                  System.out.println(ans2[i].title);
              }
          }

    }


    public static double findSongDurationForArtist(Song[] songs,String input1)
    {
        double sum=0;
        int count=0;
        for (int i = 0; i <songs.length ; i++) {
            if(songs[i].artist.equalsIgnoreCase(input1))
            {
                count=count+1;
                sum=sum+songs[i].duration;
            }
        }
        if(count>0)
        {
            return sum;
        }
    return 0;


    }





    public static Song[] getSongsInAscendingOrder(Song[] songs,String input2)
    {
        Song[] help=new Song[0];
        for (int i = 0; i <songs.length ; i++) {
            if(songs[i].artist.equalsIgnoreCase(input2))
            {
                help= Arrays.copyOf(help,help.length+1);
                help[help.length-1]=songs[i];
            }
        }

        //bubble sort
        for (int i = 0; i <help.length-1 ; i++) {
            for (int j = 0; j <help.length-i-1 ; j++) {
                if(help[j].duration>help[j+1].duration)
                {
                    Song temp=help[j];
                    help[j]=help[j+1];
                    help[j+1]=temp;
                }
            }
        }

        if(help.length>0)
        {
            return help;
        }

        return null;
    }


}




class Song
{
    int songId;
    String title;
    String artist;
    double duration;

    //parametrized constructor


    public Song(int songId, String title, String artist, double duration) {
        this.songId = songId;
        this.title = title;
        this.artist = artist;
        this.duration = duration;
    }
}

 

 

 

Comments

Popular posts from this blog

December 23 java coding question PRA solution

23 dec pra java coding question solution. Question: Create the class Student with below attributes. id-int name-String marks-int age-int write getters and setters and parametrized constructor in Student class. Create class Solution with main method. implement 2 static methods-findStudentWithMaximumAge and searchStudentById in Solution class. findStudentWithMaximumAge method:     This method will take the Array of the Students objects as input and  returns the Student object having maximum Age.   For this method,the main method should print the student object details with maximum age as it is.    searchStudentById method:     This method will take 2 input parameters.Array of the Students objects and an int value  id.and returns the Student object having the mentioned id  if found, else return null if not found.   For this method ,main method should print the details of Student objects  as it is,if the returned value is not null....

Travel_Agencies

  Problem Statement Create a class TravelAgencies with below attributes: regNo – int agencyName – String pakageType – String price – int flightFacility – boolean Write getters, setters for the above attributes . Create constructor which takes parameter in the above sequence. Create class Solution with main method. Implement two static methods – findAgencyWithHighestPackagePrice and agencyDetailsforGivenIdAndType in Solution class. findAgencyWithHighestPackagePrice method: This method will take array of TravelAgencies objects as an input parameter and return the highest package price from the given array of objects. agencyDetailsForGivenldAndType method: This method will take three input parameters -array of TravelAgencies objects, int parameter regNo and String parameter packageType. The method will return the TravelAgencies object based on below conditions. FlightFacility should be available. The input parameters(regNo and packageType) should matched with the re...

Solving TCS IPA java question.(class Player)

Question:  Create a Class Player with below attributes: id - int country - String side - String price - double Write getters, setters and parameterized constructor as required.  Create class Solution with main method.  Implement static method - searchPlayerForMatch in Solution class. This method will take a String parameter along with the other parameter as array of Player objects. The method will return array of Player where the String parameter appears in the side attribute (with case insensitive  search).   This method should be called from main method and display the id of returned objects in ascending order.  Before calling this method(searchPlayerForMatch) in the main method,  use Scanner object to read values for four Player objects referring the  attributes in the above sequence.  then, read the value for search parameter.  Next call the method searchPlayerForMatch, write the logic to sort the id in ascending order (i...