写的小内容,自己动手写了好长时间。顺便也在学习知识点,黑马最大的优势就是管理好,教学大纲好。贴近实际希望对大家有所帮助,共同努力。
/*
使用户操作输入数据后可重新购买:
1代表开始购物 (用户输入数量的过程)
2代表结账(打印小票) (打印小票 票头,票体,票脚)
3代表不想买了,直接退出 (break跳出选择)
*/
import java.util.Scanner;
public class TestDemo01{
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
//进行表中的数据定义
//定义核桃酥饼信息品名() 售价(price) 数量(count) 金额(money)
String htsName = "少林寺核桃酥饼";
String htsid = "(090115)";
double htsPrice = 15.5;
int htsCount = 0 ;
double htsMoney = 0.0;
//定义杂粮牡丹饼
String zlmdName = "尚康杂粮牡丹饼皇家特供商品";
String zlmdid = "(090027)";
double zlmdPrice = 14.5;
int zlmdCount = 0;
double zlmdMoney = 0.0;
//进行统计商品个数
int count = 0;
//用while和switch搭建框架 ,用来进行选择
while(true){
//打印表达,并且提供相应的选项
System.out.println("欢迎光临");
System.out.println("请选择您的操作: 1、代表开始购物 2、代表结账(打印小票)");
System.out.println("请选择您的操作: 3、代表退出本超市 4、联系客服人员");
int chooes = sc.nextInt();
switch(chooes){//通过输入的选项,选择相应的功能
//功能1:代表开始购物,通过输入商品的数量进行数量和金额的计算。
case 1:
System.out.println("请输入购买核桃饼的数量: ");
htsCount = sc.nextInt();//输入核桃饼的数量
htsMoney = htsCount * htsPrice;//算出核桃饼的金额
count++;
System.out.println("请输入购买牡丹饼的数量: ");
zlmdCount = sc.nextInt();//输入牡丹饼的数量
zlmdMoney = zlmdPrice * zlmdCount;//算出牡丹饼的金额
count++;
break;
//功能2:提供打印小票,并且对数据进行统计,打折。
case 2:
//打印表头,进行输入字符串内容
System.out.println(" 欢 迎 光 临");
System.out.println("商品编号 品名 售价 数量 金额");
System.out.println("--------------------------------------------");
//通过String操作商品名字,如果超过7则后面的用"……"来表示
if(htsName.length()>7){
htsName = htsName.substring(0,8)+"……";
}else{
htsName = htsName;
}
if(zlmdName.length()>7){
zlmdName = zlmdName.substring(0,8)+"……";
}else{
zlmdName = zlmdName;
}
//进行表中数据的打印
System.out.println(htsid+" "+htsName+" "+htsPrice+" * "+htsCount+" "+htsMoney);
System.out.println(zlmdid+" "+zlmdName+" "+zlmdPrice+" * "+zlmdCount+" "+zlmdMoney);
System.out.println("--------------------------------------------");
//计算总数量和总金额
int totalCount = htsCount + zlmdCount;
double totalmoney = zlmdMoney + htsMoney;
//进行打折功能
double afterTotalMoney = totalmoney;//afterTotalMoney为打折后的价格
if (totalmoney>300&&totalmoney<600){
afterTotalMoney = totalmoney * 0.95;
}else if(totalmoney>=600&&totalmoney<1000){
afterTotalMoney = totalmoney * 0.9;
}else if(totalmoney>=1000){
afterTotalMoney = totalmoney *0.8;
}
if(totalmoney>1000&&htsCount>30){ //如果总价超过1000,并且核桃酥大于30
afterTotalMoney = totalmoney*0.8-20;
}
//打印表底
System.out.println(count+"项商品 共计:"+totalCount+"件");
afterTotalMoney = Math.round(afterTotalMoney);//超市打印金额的时候进行四舍五入整数,不包含小数。需要用到Math类中的方法
System.out.println("金额总计:" + (int)afterTotalMoney);//进行完打折后的价钱
System.out.println("恭喜您,已经为您节省了" + (totalmoney-(int)afterTotalMoney));//节省的价钱等于原来的价钱 - 打折后的价钱。
System.out.println("凭此小票换取发票");
htsCount = 0;
htsMoney = 0;
zlmdCount = 0;
zlmdMoney = 0 ;
break;
case 3:
//每次退出后对所有的商品进行重置
System.out.println("您已经成功退出本在线超市,欢迎再来。");
htsCount = 0;
htsMoney = 0;
zlmdCount = 0;
zlmdMoney = 0 ;
System.exit(0);
break;
default :
System.out.println("如有其他问题,请联系800-880-8888");
break;
}
}
}
} |
|