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

2023-10-31 04:50

本文主要是介绍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博客

这篇关于Java基础案例3-1 基于控制台的购书系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312926

相关文章

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

Java 实用工具类Spring 的 AnnotationUtils详解

《Java实用工具类Spring的AnnotationUtils详解》Spring框架提供了一个强大的注解工具类org.springframework.core.annotation.Annot... 目录前言一、AnnotationUtils 的常用方法二、常见应用场景三、与 JDK 原生注解 API 的

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Java中的StringBuilder之如何高效构建字符串

《Java中的StringBuilder之如何高效构建字符串》本文将深入浅出地介绍StringBuilder的使用方法、性能优势以及相关字符串处理技术,结合代码示例帮助读者更好地理解和应用,希望对大家... 目录关键点什么是 StringBuilder?为什么需要 StringBuilder?如何使用 St

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格