Answer:
Check the explanation
Explanation:
// Clothing.java
public class Clothing {
//Declaring instance variables
private int quantity;
private String color;
//Zero argumented constructor
public Clothing() {
this.quantity = 0;
this.color = "";
}
//Parameterized constructor
public Clothing(int quantity, String color) {
this.quantity = quantity;
this.color = color;
}
// getters and setters
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double calculatePrice()
{
return 0.0;
}
}
_____________________________
// Pants.java
public class Pants extends Clothing {
//Declaring instance variables
private int waist;
private int inseam;
//Zero argumented constructor
public Pants() {
this.waist = 0;
this.inseam = 0;
}
//Parameterized constructor
public Pants(int quantity, String color, int waist, int inseam) {
super(quantity, color);
setWaist(waist);
setInseam(inseam);
}
// getters and setters
public int getWaist() {
return waist;
}
public void setWaist(int waist) {
if (waist > 0)
this.waist = waist;
}
public int getInseam() {
return inseam;
}
public void setInseam(int inseam) {
if (inseam > 0)
this.inseam = inseam;
}
public double calculatePrice() {
double tot = 0;
if (waist > 48 || inseam > 36) {
tot = 65.50;
} else {
tot = 50.0;
}
return tot;
}
}
__________________________
// Shirt.java
public class Shirt extends Clothing {
//Declaring instance variables
private String size;
//Zero argumented constructor
public Shirt() {
this.size = "";
}
//Parameterized constructor
public Shirt(int quantity, String color, String size) {
super(quantity, color);
this.size = size;
}
// getters and setters
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public double calculatePrice() {
double tot = 0;
if (size.equalsIgnoreCase("S")) {
tot = getQuantity() * 11.00;
} else if (size.equalsIgnoreCase("M")) {
tot = getQuantity() * 12.50;
} else if (size.equalsIgnoreCase("L")) {
tot = getQuantity() * 15.00;
} else if (size.equalsIgnoreCase("XL")) {
tot = getQuantity() * 16.50;
} else if (size.equalsIgnoreCase("XXL")) {
tot = getQuantity() * 18.50;
}
return tot;
}
}
___________________________
//Test.java
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
int totShirts=0,totPants=0;
double sprice=0,pprice=0,totWaist=0,totinseam=0,avgWaist=0,avginseam=0;
int cnt=0;
ArrayList<Clothing> clothes=new ArrayList<Clothing>();
Shirt s=new Shirt(8,"Green","XXL");
Pants p1=new Pants(6,"Brown",48,30);
Pants p2=new Pants(4,"Blue",36,34);
clothes.add(s);
clothes.add(p1);
clothes.add(p2);
for(int i=0;i<clothes.size();i++)
{
if(clothes.get(i) instanceof Shirt)
{
Shirt s1=(Shirt)clothes.get(i);
totShirts+=s1.getQuantity();
sprice+=s1.calculatePrice();
}
else if(clothes.get(i) instanceof Pants)
{
Pants pa=(Pants)clothes.get(i);
totPants+=pa.getQuantity();
pprice+=pa.calculatePrice();
totinseam+=pa.getInseam();
totWaist+=pa.getWaist();
cnt++;
}
}
System.out.println("Total number of shirts :"+totShirts);
System.out.println("Total price of Shirts :"+sprice);
System.out.println("Total number of Pants :"+totPants);
System.out.println("Total price of Pants :"+pprice);
System.out.printf("Average waist size is :%.1f\n",totWaist/cnt);
System.out.printf("Average inseam length is :%.1f\n",totinseam/cnt);
}
}
_________________________
Output:
Total number of shirts :8
Total price of Shirts :148.0
Total number of Pants :10
Total price of Pants :100.0
Average waist size is :42.0
Average inseam length is :32.0