Skip to main content

Player_Get_Player_Based_On_Level

 Problem Statement

Create a class Player with below attributes: playerId - int skill - String level - String points - int

Write getters, setters and parameterized constructor in the above mentioned attribute sequence as required.

Create class Solution with the main method.

Implement two static methods - findPointsForGivenSkill and getPlayerBasedOnLevel in Solution class.

findPointsForGivenSkill method: This method will take two input parameters - array of Player objects and string parameter skill. The method will return the sum of the points attribute from player objects for the skill passed as parameter. If no player with the given skill is present in the array of player objects, then the method should return 0.

getPlayerBasedOnLevel method: This method will take two String parameters level and skill, along with the array of Player objects. The method will return the player object, if the input String parameters matches with the level and skill attribute of the player object and its point attribute is greater than or equal to 20. If any of the conditions are not met, then the method should return null.

Note : No two player object would have the same value for skill and level attribute. All player object would have the points greater than 0. All the searches should be case insensitive.

These above mentioned static methods should be called from the main method.

For findPointsForGivenSkill method - The main method should print the points as it is if the returned price is greater than 0, or it should print "The given Skill is not available".

For getPlayerBasedOnLevel method - The main method should print the playerId of the returned player object. If the returned value is null then it should print "No player is available with specified level, skill and eligibility points".

Before calling these static methods in main, use Scanner object to read the values of four Player objects referring attributes in the above mentioned attribute sequence. Next, read the value for skill and level. Please consider the skill value read above as skill parameter for both the static methods.
Input

101
Cricket
Basic
20
102
Cricket
Intermediate
25
111
Football
Intermediate
50
113
BaseBall
Advanced
100
Cricket
Intermediate

Output

45
102


code:

import java.util.Scanner;
public class Solution {
   public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    Player players[] = new Player[4];
    for(int i = 0; i<players.length; i++) {
        int playerId = sc.nextInt();
        sc.nextLine();
        String skill = sc.nextLine();
        String level = sc.nextLine();
        int points = sc.nextInt();
        sc.nextLine();
        players[i] = new Player(playerId, skill, level, points);
    }
    String newskill = sc.nextLine();
    String newlevel = sc.nextLine();
    int totalPoints = findPointsForGivenSkill(players, newskill);
    Player chosenOne = getPlayerBasedOnLevel(players, newskill, newlevel);
    if(totalPoints>0)
        System.out.println(totalPoints);
    else
        System.out.println("The given Skill is not available");
    if(chosenOne == null)
        System.out.println("No player is available with specified level, skill and eligibility points");
    else
        System.out.println(chosenOne.getPlayerId());
    }

    public static int findPointsForGivenSkill(Player[] players, String skill){
        int points = 0;
        for(int i = 0; i<players.length; i++) {
            if(players[i].getSkill().equalsIgnoreCase(skill))
            points = points + players[i].getPoints();
        }
        return points;
      }

    public static Player getPlayerBasedOnLevel(Player[] players, String skill, String level){
        for(int i=0;i<players.length; i++) {
            if(players[i].getSkill().equalsIgnoreCase(skill) && players[i].getLevel().equalsIgnoreCase(level)){
                if(players[i].getPoints() >= 20)
                return players[i];
            }
        }
        return null;
    }
}

class Player{
    private int playerId;
    private String skill;
    private String level;
    private int points;

    public int getPlayerId() {
        return playerId;
    }

    public void setPlayerId(int playerId) {
        this.playerId = playerId;
    }

    public String getSkill() {
        return skill;
    }

    public void setSkill(String skill) {
        this.skill = skill;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public int getPoints() {
        return points;
    }

    public void setPoints(int points) {
        this.points = points;
    }

    public Player(int playerId, String skill, String level, int points) {
        this.playerId = playerId;
        this.skill = skill;
        this.level = level;
        this.points = points;
    }
}

Comments

Popular posts from this blog

How to Introduce Yourself to project team and client when you join a new project as fresher in service based company ?

Question:     How to Introduce Yourself to project team /client  when you join a new project as fresher ? Answer:  Hii Everyone,    Today I will be talking about how we can introduce ourselves to a team  when we join a new project in any servicebased company as a fresher.     After I completed my Engineering ,I got placed into TCS.I got allocated  into a project.I introduced myself to a team.So I will be telling about how   exactly I introduced myself to the team.The impressive introduction is  necessary if you want team members to treat you better in this work from  home period.If you fail to impress team members ,If your introduction is not  impressive ,then probably your team members will ignore you.    Before I tell you about how exactly I introduced myself,I would like  to talk about the points that you should remember before giving your  introduction. .start your introduction with Hii Ev...

Automating Infrastructure on Google Cloud with Terraform: Challenge Lab

As more and more organizations move to the cloud, the need for powerful infrastructure automation tools has never been greater. That's where Terraform comes in, a cutting-edge tool that allows you to automate the deployment, management, and scaling of your infrastructure with ease. With Terraform, you can define your entire infrastructure as code, making it easy to maintain, version, and reproduce. Whether you're deploying infrastructure to AWS, Google Cloud, or another cloud provider, Terraform provides a powerful and flexible platform for automating your workflows. In this blog post, we'll take a look at how to automate infrastructure on google cloud with terraform. Task A. Create the configuration files  Task B. Import infrastructure  Task C.Configure a remote backend  Task D. Modify and update infrastructure  Task E.Destroy resources  Task F. Use a module from the Registry  Task G. Configure a firewall ......................................................

TCS IRA 13 DECEMBER JAVA CODING QUESTION SOLUTION.

Create a class newspaper with below attributes. regNo-int name-String publicationYear-int price-int Write parametrised constructor as required. Create class Solution with main method. Implement 2 static methods findTotalPriceByPublicationYear and  searchNewspaperByName in solution class. findTotalPriceByPublicationYear method:    This method will take array of the Newspaper objects and int parameter type.This method will return the total price of newspapers from array of  Newspaper objects,If the publication year attribute matches with the int  parameter passed .If no Newspaper with the given publication year is present  in the array ,then the method should return 0. The main method should print total price if the returned value is greater  than 0.Else it should print "No Newspaper found with the mentioned attribute". searchNewspaperByName method :    This method will take the array of the Newspaper objects and the String  parameter type...