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

59次阅读

共计 2523 个字符,预计需要花费 7 分钟才能阅读完成。

(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;

}

}

正文完
 0