Skip to main content

NavalVessel

 Problem Statement

Create a class NavalVessel with the below attributes:
vesselld – int
vesselName – String
noOfVoyagesPlanned – int
noOfVoyagesCompleted – int
purpose – String
classification – String

Write getters, setters for the above attributes. Create constructor which takes parameter in the above sequence except classification.

Create class Solution with main method. Implement two static methods – findAvgVoyagesByPct and findVesselByGrade in Solution class.

findAvgVoyagesByPct method:

This method will take two input parameters -array of NavalVessel objects and int parameter percentage. The method will return the average of the noOfVoyagesCompleted attribute from NavalVessel objects which meets the percentage requirement as mentioned below.The percentage for each navalVessel is calculated as percentage .(noOfVoyagesCompleted * 100)/noOfVoyagesPlanned. If the above calculated percentage is greater than or equal to the percentage passed as the parameter, then those objects should participate in the average calculation. If there are no objects with the mentioned criteria, then the method should return 0.

findVesselByGrade method:

This method will take a String parameter purpose, along with the array of NavalVessel objects. The method will return the NavalVessel object, if the input String parameter matches with the purpose attribute of the NavalVessel object. Before returning the object, the classification should be derived as mentioned below. This classification value should be assigned to the object before returning. If any of the above conditions are not met, then the method should return null. The classification attribute should be calculated based on the percentage calculation mentioned above. If the percentage = 100 then classification should be ‘Star’, if percentage is between 99 and 80 then classification should be ‘Leader, if percentage is between 79 and 55 then classification should be ‘Inspirer otherwise the classification should be ‘Striver’ If the returned value is null then it should print “No Naval Vessel is available with the specified purpose”.

Before calling these static methods in main, use Scanner object to read the values of four NavalVessel objects referring attributes in the above mentioned attribute sequence (except the classification attribute). Next, read the value for percentage and purpose.
Input

111
Rojer
100
100
Passenger
222
Kalam
200
100
Goods
333
Yashwin
400
300
Army
444
Thanishwini
500
500
Welfare
75
Army

Output

300
Yashwin%Inspirer



code:

 

import java.util.Scanner;

public class Solution {

 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  NavalVessel[] navalVessels = new NavalVessel[4];
  for (int i = 0; i < navalVessels.length; i++) {
   int vesselId = sc.nextInt();
   sc.nextLine();
   String vesselName = sc.nextLine();
   int noOfVoyagesPlanned = sc.nextInt();
   int noOfVoyagesCompleted = sc.nextInt();
   sc.nextLine();
   String purpose = sc.nextLine();
   navalVessels[i] = new NavalVessel(vesselId, vesselName, noOfVoyagesPlanned, noOfVoyagesCompleted, purpose);
  }
  int searchPercentageValue = sc.nextInt();
  sc.nextLine();
  String searchPurposeValue = sc.nextLine();
  int avgOfVoyagesCompleted = findAvgVoyagesByPct(navalVessels, searchPercentageValue);

  if (avgOfVoyagesCompleted > 0)
   System.out.println(avgOfVoyagesCompleted);
  else
   System.out.println("There are no voyages completed with this percentage");

  NavalVessel navalvessel = findVesselByGrade(navalVessels, searchPurposeValue);
  if (navalvessel == null)
   System.out.println("No Naval Vessel is available with the specified purpose");
  else
   System.out.println(navalvessel.getVesselName() + "%" + navalvessel.getClassification());
 }

 public static int findAvgVoyagesByPct(NavalVessel[] navalVessels, int searchPercentageValue) {
  int avg = 0, count = 0;
  for (int i = 0; i < navalVessels.length; i++) {
   int percent = (navalVessels[i].getNoOfVoyagesCompleted() * 100) / navalVessels[i].getNoOfVoyagesPlanned();
   if (percent >= searchPercentageValue) {
    avg += navalVessels[i].getNoOfVoyagesCompleted();
    count++;
   }
  }
  if (avg == 0)
   return 0;
  else
   return avg / count;
 }

 public static NavalVessel findVesselByGrade(NavalVessel[] navalVessels, String searchPurposeValue) {
  for (int i = 0; i < navalVessels.length; i++) {
   if (searchPurposeValue.equalsIgnoreCase(navalVessels[i].getPurpose())) {
    int percentage = (navalVessels[i].getNoOfVoyagesCompleted() * 100) / navalVessels[i].getNoOfVoyagesPlanned();
    if (percentage == 100) navalVessels[i].setClassification("Star");
    else if (percentage >= 80 && percentage <= 99) navalVessels[i].setClassification("Leader");
    else if (percentage >= 55 && percentage <= 79) navalVessels[i].setClassification("Inspirer");
    else
     navalVessels[i].setClassification("Striver");
    return navalVessels[i];
   }
  }
  return null;
 }
}

class NavalVessel {
 private int vesselId, noOfVoyagesPlanned, noOfVoyagesCompleted;
 private String vesselName, purpose, classification;
 NavalVessel(int vesselId, String vesselName, int noOfVoyagesPlanned, int noOfVoyagesCompleted, String purpose) {
  this.vesselId = vesselId;
  this.vesselName = vesselName;
  this.noOfVoyagesPlanned = noOfVoyagesPlanned;
  this.noOfVoyagesCompleted = noOfVoyagesCompleted;
  this.purpose = purpose;
 }
 int getVesselId() {
  return vesselId;
 }
 String getVesselName() {
  return vesselName;
 }
 int getNoOfVoyagesPlanned() {
  return noOfVoyagesPlanned;
 }
 int getNoOfVoyagesCompleted() {
  return noOfVoyagesCompleted;
 }
 String getPurpose() {
  return purpose;
 }
 void setClassification(String classification) {
  this.classification = classification;
 }
 String getClassification() {
  return classification;
 }
}



Comments

Popular posts from this blog

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 regNo

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. or it should print  "No Student found with mentioned

TCS XPLORE CAMERA PROCTORED ASSESSMENT EXAM JAVA CODING SOLUTION 10 MAY,2021. FOOTWEAR PROBLEM.

 create a class Footwear which consists of the below attributes.   footwearId=int   footwearName=String   footwearType=String   price =int the above attributes should be private. write getter and setter and parametrised constructor as required. create the class footwearProgrammm with the main method. implement the 2 static methods.getCountByType and getSecondHighestPriceByBrand in the Solution class. getCountByType method:    this method will take two input parameters. array of the Footwear objects and string parameter footwear type. this method will return the count of the footwears from array of the footwear objects for the given type of footwear. if no footwear with the given footwear type is found in the array of footwear abjects,then the method should return 0. getSecondHighestPriceByBrand method:   this method will take 2 input parameters-array of footwear objects and string parameter inputFootwearName.the method will return the second highest footwear objects based on the price