Skip to main content

autonomous_car

 

Create a class AutonomousCar with the below attributes:
carld – int
brand – String noOfTestsConducted – int
noOfTestsPassed- int
environment – String
grade – String

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

Create class Solution with main method. Implement two static methods – findTestPassedByEnv and updateCarGrade in Solution class.

findTestPassedByEnv method:

This method will take two input parameters -array of AutonomousCar objects and string parameter environment. The method will return the sum of the noOfTestsPassed attribute from autonomousCar objects for the environment passed as parameter. If no autonomousCar with the given environment is present in the array of AutonomousCar objects, then the method should return 0.

updateCarGrade method:

This method will take a String parameter brand, along with the array of AutonomousCar objects. The method will return the autonomousCar object, if the input String parameter matches with the brand attribute of the autonomousCar object. Before returning the object, the grade should be derived based on the rating calculation mentioned below. This grade value should be assigned to the object. If any of the above conditions are not met, then the method should return null. The grade attribute should be calculated as follows: rating .(noOfTestsPassed * 100)/noOfTestsConducted If the rating > = 80 then grade should be ‘A1’, otherwise the grade should be ‘B2’.

The above mentioned static methods should be called from the main method. For findTestPassedByEnv method – The main method should print the totalTestPassed as it is, if the returned value is greater than 0, or it should print “There are no tests passed in this particular environment”.

For updateCarGrade method – The main method should print the brand and grade of the returned autonomousCar object. The brand and grade should be concatinated with :: while printing. eg:- Tesla::A1, where Tesla is the brand and Al is the grade.

If the returned value is null then it should print “No Car is available with the specified brand”. Before calling these static methods in main, use Scanner object to read the values of four autonomousCar objects referring attributes in the above mentioned attribute sequence (except grade attribute). Next, read the value for environment and brand.

Input

100
Tesla
1000
500
Hills
200
Ford
2000
1500
Desert
300
Royce
3000
1700
Hills
400
Mercedez
1000
400
Desert
Desert
Mercedez

Output

1900
Mercedez::B2 
 
 
code:
 import java.util.Scanner;

public class Solution {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
AutonomousCar[] cars = new AutonomousCar[4];
for (int i = 0; i < cars.length; i++) {
int carId = sc.nextInt();
sc.nextLine();
String brand = sc.nextLine();
int noOfTestsConducted = sc.nextInt();
int noOfTestsPassed = sc.nextInt();
sc.nextLine();
String environment = sc.nextLine();
cars[i] = new AutonomousCar(carId, brand, noOfTestsConducted, noOfTestsPassed, environment);
}
String env = sc.nextLine();
String brand = sc.nextLine();
int testsPassed = findTestPassedByEnv(cars, env);
if (testsPassed == 0)
System.out.println("There are no tests passed in this particular environment");
else
System.out.println(testsPassed);
AutonomousCar updatedCar = updateCarGrade(cars, brand);
if (updatedCar == null)
System.out.println("No Car is available with the specified brand");
else
System.out.println(updatedCar.getBrand() + "::" + updatedCar.getGrade());
}


public static int findTestPassedByEnv(AutonomousCar[] cars, String env) {
int sum = 0;
for (int i = 0; i < cars.length; i++) {
if (env.equalsIgnoreCase(cars[i].getEnvironment())) {
sum = sum + cars[i].getNoOfTestsPassed();
}
}
return sum;
}

public static AutonomousCar updateCarGrade(AutonomousCar[] cars, String brand) {
int rating;
for (int i = 0; i < cars.length; i++) {
if (brand.equalsIgnoreCase(cars[i].getBrand())) {
rating = (cars[i].getNoOfTestsPassed() * 100) / cars[i].getNoOfTestsConducted();
if (rating >= 80) cars[i].setGrade("A1");
else cars[i].setGrade("B2");
return cars[i];
}
}
return null;
}
}

class AutonomousCar {
private int carId, noOfTestsConducted, noOfTestsPassed;
private String brand, environment, grade;
AutonomousCar(int carId, String brand, int noOfTestsConducted, int noOfTestsPassed, String environment) {
this.carId = carId;
this.brand = brand;
this.noOfTestsConducted = noOfTestsConducted;
this.noOfTestsPassed = noOfTestsPassed;
this.environment = environment;
}
int getCarId() {
return carId;
}
String getBrand() {
return brand;
}
int getNoOfTestsConducted() {
return noOfTestsConducted;
}
int getNoOfTestsPassed() {
return noOfTestsPassed;
}
String getEnvironment() {
return environment;
}
void setGrade(String grade) {
this.grade = grade;
}
String getGrade() {
return grade;
}
}
 
      



      


      

 
 

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...