A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

写的小内容,自己动手写了好长时间。顺便也在学习知识点,黑马最大的优势就是管理好,教学大纲好。贴近实际希望对大家有所帮助,共同努力。
/*
使用户操作输入数据后可重新购买:
                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;
                        }
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马