Java 为超市打折水果编写一个购物程序

(1)抽象父类Fruit,包含以下属性和方法:

a)一个int类型的成员变量unitPrice,存放单价,单位为元/千克;

b)一个int类型的成员变量amount,存放重量,单位为千克。

c)一个double类型的成员变量discount,存放折扣,默认为1;

d)抽象方法count(int unitPrice, int amount, double discount):double,计算水果的实际价格。

e)抽象方法display():void,显示水果的信息。

(2)子类樱桃Cherry,继承父类Fruit,包含以下属性和方法:

a)新增一个String类型的成员变量origin,存放产地。默认为“山东”。

b)构造方法Cherry(origin, unitPrice, amount, discount),初始化樱桃的信息:产地、单价、折扣、重量。

c)构造方法Cherry(unitPrice, amount, discount),初始化樱桃的信息:单价、折扣、重量。

例如“樱桃: 产地= ,单价= ,折扣= ,重量= ”

d)实现父类的抽象方法display(),显示樱桃的信息,包括产地、名称、单价、折扣、重量。

e)实现父类的抽象方法count(int unitPrice, int amount, double discount):double,计算樱桃的具体金额。

(3)子类芒果Mango,继承父类Fruit,包含以下属性和方法:

a)新增一个String类型的成员变量breed,存放品种。默认为“腰芒”。

b)构造方法Mango(breed, unitPrice, amount, discount),初始化芒果的信息:品种、单价、折扣、重量。

c)构造方法Mango(unitPrice, amount, discount),初始化芒果的信息:单价、折扣、重量。

d)实现父类的抽象方法display(),显示芒果的信息,包括品种、名称、单价、折扣、重量。

e)实现父类的抽象方法count(int unitPrice, int amount, double discount):double,计算芒果的具体金额。
外汇IB http://www.fx61.com/ib.html

abstract class Fruit {

int unitPrice;

int amount;

double discount =1;

public abstract double count(int unitPrice,int amount,double discount);

public abstract void display();

}

class Cherry extends Fruit{

String origin ="山东";

Cherry(String origin,int unitPrice,int amount,double discount){

this.origin=origin;

this.unitPrice=unitPrice;

this.amount=amount;

this.discount=discount;

}

Cherry(int unitPrice,int amount,double discount){

this.unitPrice=unitPrice;

this.amount=amount;

this.discount=discount;

}

public void display(){

System.out.println("产地:"+origin+" 名称:樱桃"+" 单价:"+unitPrice+" 折扣:"+discount+" 重量"+amount);

}

public double count(int unitPrice,int amount,double discount){

return unitPrice*amount*discount;

}

}

class Mango extends Fruit{

String breed="腰芒";

Mango(String breed,int unitPrice,int amount,double discount){

this.breed=breed;

this.unitPrice=unitPrice;

this.amount=amount;

this.discount=discount;

}

Mango(int unitPrice,int amount,double discount){

this.unitPrice=unitPrice;

this.amount=amount;

this.discount=discount;

}

public void display(){

System.out.println("品种:"+breed+" 名称:芒果"+" 单价:"+unitPrice+" 折扣:"+discount+" 重量"+amount);

}

public double count(int unitPrice,int amount,double discount){

return unitPrice*amount*discount;

}

}

public class TestFruit{

public static void main(String[] args) {

Fruit[] fruits = {new Cherry("江苏", 15, 2, 0.8), new Mango(12, 2, 0.95), new Cherry(28, 3, 0.7)};

System.out.println("----------------------------");

for (int i = 0; i < fruits.length; i++)

fruits[i].display();

System.out.println("----------------------------");

//输出水果的总价钱

System.out.println("总价钱为:" + sum(fruits));

}

static double sum(Fruit[] fruits){

double sum=fruits[0].count(15,2,0.8)+fruits[1].count(12,2,0.95)+fruits[2].count(28,3,0.7);

return sum;

}

}

你可能感兴趣的:(java)