Java基础案例3-1 基于控制台的购书系统

伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,互联网的用途也不再局限于信息的浏览和发布,人们能够充分享受互联网带来的更多便利。网络购书系统正是适应了当今社会快节奏的生活,使顾客足不出户便可以方便、快捷、轻松地选购自己喜欢的图书。
本案例要求使用所学知识编写一个基于控制台的购书系统,实现购书功能。程序输出所有图书的信息,包括每本书的编号、书名、单价、库存。
顾客购书时,根据提示输入图书编号选购需要的书,并根据提示输入需要购买的书的数量。购买完毕输出顾客的订单信息,包括订单号、订单明细、订单总额。

ps:我在这个案例中遇到的主要困难是对于静态方法以及变量的定义调用,还需要加强巩固一下,末尾附上关于类方法之间调用的学习。

【实现代码】

/**
 * ZAY 2023.7.19
 */

import java.util.Scanner;

public class Example08 {

    Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        Library.printBook();

        Customer.buy();

        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < 10000; i++) {
            System.out.println("是否继续购买");
            String input = sc.next();
            if (input.equals("是")) {
                Library.printBook();
                Customer.buy();
            } else if (input.equals("否")){
                System.out.println("谢谢惠顾");
                break;
            }
        }
    }


}
//定义顾客类
class Customer {
    private static int bianHao = 0;

    private static int s1 = 0, s2 = 0, s3 = 0;
    
    public static void buy() {

        System.out.println("请输入您的购买序号:");

        Scanner sc = new Scanner(System.in);

        bianHao += 1;

        int m = sc.nextInt();
        switch (m) {
            case 1:
                System.out.println("您当前要购买的是" + Library.name[0]);
                System.out.println("请输入购买数量");
                int n1 = sc.nextInt();
                if (Library.num[0] - n1 < 0) {
                    System.out.println("库存不够,请重新选择");
                } else {
                    Library.num[0] = Library.num[0] - n1;
                    System.out.println("订单号为" +bianHao);
                    System.out.println("购买" + Library.name[0] + n1 + "本");
                    s1 = Library.price[0] * n1;
                    System.out.println("总花费金额为:" + (s1 + s2 + s3));
                }break;

            case 2:
                System.out.println("您当前要购买的是" + Library.name[1]);
                System.out.println("请输入购买数量");
                int n2 = sc.nextInt();
                if (Library.num[1] - n2 < 0) {
                    System.out.println("库存不够,请重新选择");
                } else {
                    Library.num[1] = Library.num[1] - n2;
                    System.out.println("订单号为" + bianHao);
                    System.out.println("购买" + Library.name[1] + n2 + "本");
                    s2 = Library.price[1] * n2;
                    System.out.println("总花费金额为:" + (s1 + s2 + s3));
                }
                break;

            case 3:
                System.out.println("您当前要购买的是" + Library.name[2]);
                System.out.println("请输入购买数量");
                int n3 = sc.nextInt();
                if (Library.num[2] - n3 < 0) {
                    System.out.println("库存不够,请重新选择");
                } else {
                    Library.num[2] = Library.num[2] - n3;
                    System.out.println("订单号为" + bianHao);
                    System.out.println("购买" + Library.name[2] + n3 + "本");
                    s3 = Library.price[2] * n3;
                    System.out.println("总花费金额为:" + (s1 + s2 + s3));
                }
                break;

            default:
                System.out.println("输入有误");
                break;
        }
    }
}

//定义图书馆类
class Library {

     static String[] name = {"童话故事", "神话传说", "狂人日记"};

     static int[] num = {100, 120, 110};

     static int[] price = {20, 25 ,30};

     public static void printBook() {
         System.out.println("本图书馆图书信息为:");
         for (int i = 0; i < name.length; i++) {
             System.out.print((i + 1)+ " " + name[i] + " ");
             System.out.print(num[i]  + "本" + " ");
             System.out.println(price[i] + "元/本");
         }
    }
}

【运行截图】

类之间方法调用链接:(161条消息) JAVA类之间方法的调用_java不同类之间调用方法_plus_left的博客-CSDN博客

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值