简单的小超市
一.人物包
1.顾客类
package person;
public class Customer {
public String name;
public double money;
public boolean isDrivingCar;
}
二.超市包
1.小超市类
package supermarket;
public class LittleSuperMarket {
public String superMarketName;
public String address;
public int parkingCount;
public double incomingSum;
public Merchandise[ ] merchandises;
public int [ ] merchandisesold;
}
2.商品类
package supermarket;
public class Merchandise {
public String name;
public String id;
public int count;
public double soldPrice;
public double purchasePrice;
}
三.主程序
import person. Customer;
import supermarket. LittleSuperMarket;
import supermarket. Merchandise;
import java. util. Scanner;
public class Run {
public static void main ( String[ ] args) {
LittleSuperMarket littleSuperMarket = new LittleSuperMarket ( ) ;
littleSuperMarket. address = "世纪大道999号" ;
littleSuperMarket. superMarketName = "我家超市" ;
littleSuperMarket. parkingCount = 200 ;
littleSuperMarket. merchandises = new Merchandise [ 200 ] ;
littleSuperMarket. merchandisesold = new int [ littleSuperMarket. merchandises. length] ;
for ( int i = 0 ; i < littleSuperMarket. merchandises. length; i++ ) {
Merchandise m = new Merchandise ( ) ;
m. count = 200 ;
m. id = "ID" + i;
m. name = "商品" + i;
m. purchasePrice = 200 * Math. random ( ) ;
m. soldPrice = ( 1 + Math. random ( ) ) * m. purchasePrice;
littleSuperMarket. merchandises[ i] = m;
}
System. out. println ( "超市开张了!! !" ) ;
boolean open = true ;
Scanner scanner = new Scanner ( System. in) ;
while ( open) {
System. out. println ( "本店叫做:" + littleSuperMarket. superMarketName) ;
System. out. println ( "本店地址:" + littleSuperMarket. address) ;
System. out. println ( "共拥有停车位:" + littleSuperMarket. parkingCount) ;
System. out. println ( "今天的营业额为:" + littleSuperMarket. incomingSum) ;
System. out. println ( "共有商品:" + littleSuperMarket. merchandises. length + "种" ) ;
Customer customer = new Customer ( ) ;
customer. name = "编号:" + ( ( int ) ( Math. random ( ) * 500 ) ) ;
customer. isDrivingCar = Math. random ( ) > 0.4 ;
customer. money = ( 1 + Math. random ( ) ) * 10000 ;
if ( customer. isDrivingCar) {
System. out. println ( "欢迎顾客" + customer. name + "号的顾客驾车而来!" ) ;
if ( littleSuperMarket. parkingCount > 0 ) {
littleSuperMarket. parkingCount-- ;
System. out. println ( "欢迎顾客" + customer. name + "号的顾客光临" + littleSuperMarket. superMarketName + ",车位剩余" + littleSuperMarket. parkingCount + ",钱包剩余" + customer. money) ;
} else {
System. out. println ( "对不起,停车位已满,欢迎下次光临" ) ;
continue ;
}
} else {
System. out. println ( "欢迎顾客" + customer. name + "号的顾客光临" + littleSuperMarket. superMarketName + "钱包剩余" + customer. money) ;
}
double totalCast = 0 ;
int numToBuy;
while ( true ) {
System. out. println ( "本店提供" + littleSuperMarket. merchandises. length + "种商品,欢迎选购。请输入商品编号:" ) ;
int InDex = scanner. nextInt ( ) ;
if ( InDex <= 0 ) {
break ;
}
if ( InDex > littleSuperMarket. merchandises. length - 1 ) {
System. out. println ( "对不起,本店没有那么多商品。请输入0到" + ( littleSuperMarket. merchandises. length - 1 ) + "之间的数字" ) ;
continue ;
}
System. out. println ( "您选购的商品的名字是:" + littleSuperMarket. merchandises[ InDex] . name + "\t售价为:" + littleSuperMarket. merchandises[ InDex] . soldPrice) ;
System. out. println ( "请问你要买几个?" ) ;
numToBuy = scanner. nextInt ( ) ;
if ( numToBuy <= 0 ) {
System. out. println ( "不买看看也好,欢迎继续选购" ) ;
continue ;
}
if ( numToBuy > littleSuperMarket. merchandises[ InDex] . count) {
System. out. println ( "本店没有那么多商品,欢迎继续挑选" ) ;
continue ;
}
totalCast += littleSuperMarket. merchandises[ InDex] . soldPrice * numToBuy;
littleSuperMarket. merchandises[ InDex] . count -= numToBuy;
if ( customer. money < totalCast) {
System. out. println ( "对不起,您身上的钱不足以支付您的商品,欢迎下次选购" ) ;
littleSuperMarket. merchandises[ InDex] . count += numToBuy;
totalCast = 0 ;
} else {
littleSuperMarket. merchandisesold[ InDex] += numToBuy;
customer. money -= totalCast;
if ( customer. isDrivingCar) {
littleSuperMarket. parkingCount++ ;
}
}
}
littleSuperMarket. incomingSum += totalCast;
System. out. println ( "顾客" + customer. name + "号的顾客共消费" + totalCast + ",还剩余" + customer. money) ;
System. out. println ( "今天还要继续营业吗?" ) ;
open = scanner. nextBoolean ( ) ;
}
System. out. println ( "超市关门了!" ) ;
System. out. println ( "今天总的营业额为" + littleSuperMarket. incomingSum + "营业情况如下:" ) ;
double totalNetIncoming = 0 ;
double totalIncoming = 0 ;
for ( int i = 0 ; i < littleSuperMarket. merchandisesold. length; i++ ) {
if ( littleSuperMarket. merchandisesold[ i] > 0 ) {
double incoming = littleSuperMarket. merchandises[ i] . soldPrice * littleSuperMarket. merchandisesold[ i] ;
double netIncoming = ( littleSuperMarket. merchandises[ i] . soldPrice - littleSuperMarket. merchandises[ i] . purchasePrice) * littleSuperMarket. merchandisesold[ i] ;
totalIncoming += incoming;
totalNetIncoming += netIncoming;
System. out. println ( littleSuperMarket. merchandises[ i] . name + "售出了" + littleSuperMarket. merchandisesold[ i] + "个。销售额为" + incoming + ",净利润为" + netIncoming) ;
}
}
System. out. println ( "今日总销售额为:" + totalIncoming + ";今日总净利润为:" + totalNetIncoming) ;
}
}