-
Notifications
You must be signed in to change notification settings - Fork 109
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
170 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
package IPA15; | ||
import java.util.*; | ||
public class IPA15 { | ||
public static void main(String[] args) { | ||
Scanner sc = new Scanner(System.in); | ||
Phone[] ph = new Phone[4]; | ||
for (int i = 0; i < ph.length; i++) | ||
{ | ||
int a = sc.nextInt();sc.nextLine(); | ||
String b = sc.nextLine(); | ||
String c = sc.nextLine(); | ||
int d = sc.nextInt();sc.nextLine(); | ||
|
||
ph[i] = new Phone(a,b,c,d); | ||
} | ||
String br = sc.nextLine(); | ||
String os = sc.nextLine(); | ||
int ans1 = findPriceForGivenBrand(ph,br); | ||
if(ans1!=0) | ||
{ | ||
System.out.println(ans1); | ||
} | ||
else{ | ||
System.out.println("The brand is not available"); | ||
} | ||
|
||
int ans2 = getPhoneIdBasedOnOs(ph,os); | ||
if(ans2!=0) | ||
{ | ||
System.out.println(ans2); | ||
} | ||
else | ||
{ | ||
System.out.println("No phones are available with specified os and price range"); | ||
} | ||
} | ||
public static int findPriceForGivenBrand(Phone[] p, String br) | ||
{ | ||
int sum = 0; | ||
for (int i = 0; i < p.length; i++) { | ||
if(p[i].getBrand().equalsIgnoreCase(br)) | ||
{ | ||
sum += p[i].getPrice(); | ||
} | ||
} | ||
return sum; | ||
} | ||
public static int getPhoneIdBasedOnOs(Phone[] p,String os) | ||
{ | ||
for (int i = 0; i < p.length; i++) { | ||
if(p[i].getOs().equalsIgnoreCase(os) && p[i].getPrice()>=50000) | ||
{ | ||
return p[i].getId(); | ||
} | ||
} | ||
return 0; | ||
} | ||
} | ||
class Phone | ||
{ | ||
int id,price; | ||
String os,brand; | ||
|
||
public Phone(int id, String os, String brand, int price) | ||
{ | ||
this.id = id; | ||
this.os = os; | ||
this.brand=brand; | ||
this.price = price; | ||
} | ||
|
||
public int getId() | ||
{ | ||
return id; | ||
} | ||
public void setId(int id) | ||
{ | ||
this.id = id; | ||
} | ||
public String getOs() | ||
{ | ||
return os; | ||
} | ||
public void setOs(String os) | ||
{ | ||
this.os = os; | ||
} | ||
public String getBrand() | ||
{ | ||
return brand; | ||
} | ||
public void setBrand(String brand) | ||
{ | ||
this.brand = brand; | ||
} | ||
public int getPrice() | ||
{ | ||
return price; | ||
} | ||
public void setPrice(int price) | ||
{ | ||
this.price = price; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
Create a class Phone with below attributes: | ||
|
||
phoneId - int | ||
os - String | ||
brand - String | ||
price - int | ||
|
||
Write getters, setters and parameterized constructor in the above mentioned attribute sequence as required. | ||
|
||
Create class Solution with main method. | ||
|
||
Implement two static methods - findPriceForGivenBrand and getPhoneIdBasedOnOs in Solution class. | ||
|
||
findPriceForGivenBrand method: | ||
---------------------------------- | ||
This method will take two input parameters - array of Phone objects and string | ||
parameter brand. The method will return the sum of the price attribute from phone objects for the brand passed | ||
as parameter. If no phones with the given brand is present in the array of phone objects, then the method should | ||
return 0. | ||
|
||
getPhoneIdBasedOnOs method: | ||
---------------------------------- | ||
This method will take a String parameter os, along with the array of Phone objects. | ||
The method will return the phone object, if the input String parameter matches with the os attribute of the phone | ||
object and its price attribute is greater than or equal to 50000. If any of the conditions are not met, then the | ||
method should return null. | ||
|
||
Note : No phone object would have the same value for os attribute. All phone object would have the price greater than 0. | ||
All the searches should be case insensitive. | ||
|
||
These above mentioned static methods should be called from the main method. | ||
|
||
For findPriceForGivenBrand method - The main method should print the price as it is if the returned price is greater | ||
than 0, or it should print "The given Brand is not available". | ||
|
||
For getPhoneIdBasedOnOs method - The main method should print the phoneId of the returned phone object. If the returned | ||
value is null then it should print "No phones are available with specified os and price range". | ||
|
||
Before calling these static methods in main, use Scanner object to read the values of four Phone objects referring | ||
attributes in the above mentioned attribute sequence. Next, read the value for brand and os. | ||
|
||
Input | ||
-------------- | ||
111 | ||
iOS | ||
Apple | ||
30000 | ||
222 | ||
android | ||
Samsung | ||
50000 | ||
333 | ||
Symbian | ||
HTC | ||
12000 | ||
444 | ||
Paranoid | ||
HTC | ||
89000 | ||
Blackberry | ||
aNdRoid | ||
|
||
Output | ||
------------------ | ||
The given Brand is not available | ||
222 |