Solution6
package pone;
import java.util.*;
class Observatory
{
private String obervatoryName;
private double telescopePower;
private int yearsOperational;
private ArrayList<String> observedPhenomena;
public Observatory(String obervatoryName,double telescopePower,int yearsOperational,ArrayList<String> observedPhenomena)
{
this.obervatoryName = obervatoryName;
this.telescopePower = telescopePower;
this.yearsOperational = yearsOperational;
this.observedPhenomena = observedPhenomena;
}
public String getObervatoryName() {
return obervatoryName;
}
public Observatory setObervatoryName(String obervatoryName) {
this.obervatoryName = obervatoryName;
return this;
}
public double getTelescopePower() {
return telescopePower;
}
public Observatory setTelescopePower(double telescopePower) {
this.telescopePower = telescopePower;
return this;
}
public int getYearsOperational() {
return yearsOperational;
}
public Observatory setYearsOperational(int yearsOperational) {
this.yearsOperational = yearsOperational;
return this;
}
public ArrayList<String> getObservedPhenomena() {
return observedPhenomena;
}
public Observatory setObservedPhenomena(ArrayList<String> observedPhenomena) {
this.observedPhenomena = observedPhenomena;
return this;
}
}
class ObservatoryService
{
//Task 1: Find observatories that have recorded a specific astronomical event
public void task1(ArrayList<Observatory> obs,String input1)
{
//System.out.println("in task 1");
ArrayList<Integer> ans = new ArrayList<>();
int count = 0;
for(Observatory ob : obs)
{
for(String ss : ob.getObservedPhenomena())
{
if(ss.equalsIgnoreCase(input1))
{
ans.add(ob.getYearsOperational());
count++;
}
}
}
if(count == 0)
{
System.out.println("No Observation Found");
}
else
{
for(Integer aa : ans)
{
System.out.println(aa);
}
}
}
//Task 2: Find the highest telescope power in use
public void task2(ArrayList<Observatory> obs)
{
//System.out.println("in task 2");
int count = 0;
double max = 0;
for(Observatory ob : obs)
{
for(String ss : ob.getObservedPhenomena())
{
if(ob.getTelescopePower() > max)
{
max = max + ob.getTelescopePower();
count++;
}
}
}
if (count == 0)
{
System.out.println("No Data Available");
}
else System.out.println(max);
}
}
public class Solution6
{
public static void main(String[] args)
{
Scanner xx = new Scanner(System.in);
ObservatoryService yy = new ObservatoryService();
ArrayList<Observatory> obs = new ArrayList<>();
int n = xx.nextInt();xx.nextLine();
for(int i = 0;i < n ; i++) {
String observatoryName = xx.nextLine();
double telescopePower = xx.nextDouble();
xx.nextLine();
int yearsOperational = xx.nextInt();
xx.nextLine();
int m = xx.nextInt();
xx.nextLine();
ArrayList<String> obph = new ArrayList<>();
for (int j = 0; j < m; j++)
{
String obPhenomena = xx.nextLine();
obph.add(obPhenomena);
}
obs.add(new Observatory(observatoryName,telescopePower,yearsOperational,obph));
}
String input1 = xx.nextLine();
yy.task1(obs,input1);
yy.task2(obs);
}
}
Comments
Post a Comment