public class Computer implements ComputeSales {
public double Sales() {
return 200;
}
}
public interface ComputeSales {
double Sales();
}
public class M {
public static void main(String[] args) {
// TODO Auto-generated method stub
ComputeSales[]goods=new ComputeSales[20];
int temp;
int total;
total=(int)(Math.random()*21);
for(int i=0;i<total;i++)
{temp=(int)(Math.random()*3);
if(temp==0) {
goods[i]=new Televsion();
System.out.println("商店销售出一台电视机为100元");
}
else if(temp==1)
{
goods[i]=new Computer();
System.out.println("商店销售出一台电脑为200元");
}
else if(temp==2)
{
goods[i]=new Mobile();
System.out.println("商店销售出一部手机为300元");
}
}
Shop shop=new Shop(goods);
System.out.println("今天商店销售电器总数为:"+total);
System.out.println("今天商店销售额:"+shop.giveTotalSales(total));
}
}
public class Shop {
ComputeSales[]goods;
double totalSales=0;
Shop(ComputeSales[]goods){
this.goods=goods;
}
public double giveTotalSales(int n) {
totalSales=0;
for(int i=0;i<n-1;i++)
//for(n=0;n<20;n++)
{
totalSales=totalSales+goods[i].Sales();
}
return totalSales;
}
}
public class Televsion implements ComputeSales {
public double Sales() {
return 100;
}
}
运行结果:
商店销售出一台电脑为200元
商店销售出一部手机为300元
商店销售出一台电脑为200元
商店销售出一部手机为300元
商店销售出一台电视机为100元
商店销售出一台电脑为200元
商店销售出一部手机为300元
商店销售出一部手机为300元
商店销售出一台电脑为200元
商店销售出一台电视机为100元
商店销售出一台电脑为200元
商店销售出一台电视机为100元
今天商店销售电器总数为:12
今天商店销售额:2400.0
但结果应为2500