抽象轻松java

嗨嗨嗨!

没想到吧,出现了抽象轻松第4种语言系列(我也没想到)

简单的java程序,看完就懂的简单逻辑——购物车系统

购物车,首先要有商品吧,现实中的商品有什么属性?

名字,价格,数量,编码等等

知道了这些属性,就应该考虑用什么来存放它们!

是整数型?是浮点型?是对象?还是数组?

很显然,数组就成了我们的首选!

声明一个数组,用来存放商品的属性

购物车系统包括了增删改查结算5个功能,除了这五个功能还有一个首页选择功能

也就是说,一个购物车系统包括了6个功能,通过选择进入剩下的五个模块

开始编写,为了照顾情绪,我们先做一件特别简单的事

public class GoodsShop {public static void main(String[] args) {System.out.println("欢迎来到购物车管理系统");}
}

没错,先简单的输出一句话

定义一个类,用来存放商品对象

class obj {String name;//商品名int numb;//商品数量int id;//商品编码double money;//商品价格}

商品的属性有了,该用车子装起来了吧,声明数组

        System.out.println("欢迎来到购物车管理系统");obj [] arr = new obj[50];//obj[50]为购物车的数量上限

又因为我们的商品对象和测试类不在一起,所以想要使用obj类里面的方法是需要调用的

加上我们要输入内容,随便也把Scanner一起调用

        System.out.println("欢迎来到购物车管理系统");obj [] arr = new obj[50];//obj[50]为购物车的数量上限obj obj = new obj();//调用objScanner scanner = new Scanner(System.in);//输入

基础的工作做完了,改进入功能的编写了

第一个功能编写,选择页面,我们使用循环输入值,通过判断,进入对应的方法

循环有三个:do...while , while ,for

选择语句,if ,if...else ,switch

因为运行完一个功能就要跳回改页面,为了简单可以用while

选择语句,总不可能写5个if...else吧,但是如果你愿意还是可以写5个的,因为他们有相同的逻辑

使用switch()选择会更加的简单

while (true) {System.out.println("输入1进入增加页面");System.out.println("输入2进入查看页面");System.out.println("输入3进入修改页面");System.out.println("输入4进入删除页面");System.out.println("输入5进入结算页面");double shuzi = scanner.nextDouble();switch ((int) shuzi) {case 1 : obj.add();break;//调用增case 2 : obj.cha();break;//调用查case 3 : obj.del();break;//调用删case 4 : obj.gai();break;//调用改case 5 : obj.sum();break;//调用结算default:System.out.println("请重新输入");}}

现在代码就变成这样了,调用要有方法原型吧,在类里面把方法写入

class obj {String name;//商品名int numb;//商品数量int id;//商品编码double money;//商品价格public static void add(){System.out.println("欢迎来到增加页面");}public static void cha(){System.out.println("欢迎来到查看商品页面");}public static void del(){System.out.println("欢迎来到删除页面");}public static void gai(){System.out.println("欢迎来到修改页面");}public static void sum(){System.out.println("欢迎来到结算页面");}
}

到了这里就先停下来了

先完成大体的框架

import java.util.Scanner;public class GoodsShop {public static void main(String[] args) {System.out.println("欢迎来到购物车管理系统");obj [] arr = new obj[50];//obj[50]为购物车的数量上限obj obj = new obj();//调用objScanner scanner = new Scanner(System.in);//输入while (true) {System.out.println("输入1进入增加页面");System.out.println("输入2进入查看页面");System.out.println("输入3进入修改页面");System.out.println("输入4进入删除页面");System.out.println("输入5进入结算页面");double shuzi = scanner.nextDouble();switch ((int) shuzi) {case 1 : obj.add();break;//调用增case 2 : obj.cha();break;//调用查case 3 : obj.del();break;//调用删case 4 : obj.gai();break;//调用改case 5 : obj.sum();break;//调用结算default:System.out.println("请重新输入");}}}
}class obj {String name;//商品名int numb;//商品数量int id;//商品编码double money;//商品价格public static void add(){System.out.println("欢迎来到增加页面");}public static void cha(){System.out.println("欢迎来到查看商品页面");}public static void del(){System.out.println("欢迎来到删除页面");}public static void gai(){System.out.println("欢迎来到修改页面");}public static void sum(){System.out.println("欢迎来到结算页面");}
}

你的每一次输入,都会进入不同的页面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/142714.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS详细基础(一)选择器基础

本帖开始,我们来介绍CSS——即,层叠样式表~ 层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。简单的说,层叠就是对一个元…

PostgreSQL 查询某个属性相同内容出现的次数

查询某个数据库表属性 name 相同内容出现出现的次数,并按次数从大到小排序 SELECT name, COUNT(*) AS count FROM your_table GROUP BY name ORDER BY count DESC;示例 select project_id, COUNT(*) AS count from app_ads_positions group by project_id order b…

认证-authentication 和授权-authorization

就好比你可以刷卡进去xxx大厦(认证是本公司职员),但无法刷卡进入金融部门,或 实验部门(因为没有授权)

vite跨域proxy设置与开发、生产环境的接口配置,接口在生产环境下,还能使用proxy代理地址吗

文章目录 vite的proxy开发环境设置如果后端没有提供可以替换的/mis等可替换的后缀的处理办法接口如何区分.env.development开发和.env.production生产环境接口在生产环境下,还能使用proxy代理地址吗? vite的proxy开发环境设置 环境: vite 4…

玩转Mysql系列 - 第22篇:mysql索引原理详解

这是Mysql系列第22篇。 背景 使用mysql最多的就是查询,我们迫切的希望mysql能查询的更快一些,我们经常用到的查询有: 按照id查询唯一一条记录 按照某些个字段查询对应的记录 查找某个范围的所有记录(between and) …

忽视日志吃大亏,手把手教你玩转 SpringBoot 日志

一、日志重要吗 程序中的日志重要吗? 在回答这个问题前,笔者先说个事例: ❝ 笔者印象尤深的就是去年某个同事,收到了客户反馈的紧急bug。尽管申请到了日志文件,但因为很多关键步骤没有打印日志,导致排查进…

win10 使用cmake + mingw编译LAPACK

参考官网的内容: 适用于视窗的 LAPACK (utk.edu) 第一步下载好源码包: 配置好mingw的路径添加到环境变量中 gcc --version 出现这些就行了. 还有就是吧mingw中的mingw-make.exe重命名为make.exe 下载安装cmake 然后打开 1是源码路径,路径中一定要有CMakeLists.txt如果没…

Java多线程篇(6)——AQS之ReentrantLock

文章目录 1、管程2、AQS3、ReentrantLock3.1、lock/unlock3.1.1、lock3.1.2、unlock 3.2、一些思考 1、管程 什么是管程? 管理协调多个线程对共享资源的访问,是一种高级的同步机制。 有哪些管程模型? hansen:唤醒其他线程的代码…

渗透测试中的前端调试(一)

前言 前端调试是安全测试的重要组成部分。它能够帮助我们掌握网页的运行原理,包括js脚本的逻辑、加解密的方法、网络请求的参数等。利用这些信息,我们就可以更准确地发现网站的漏洞,制定出有效的攻击策略。前端知识对于安全来说,…

Pytorch单机多卡分布式训练

Pytorch单机多卡分布式训练 数据并行: DP和DDP 这两个都是pytorch下实现多GPU训练的库,DP是pytorch以前实现的库,现在官方更推荐使用DDP,即使是单机训练也比DP快。 DataParallel(DP) 只支持单进程多线程…

3、嵌入式系统的启动过程(BoodLoader)

1、系统启动过程 通电 - > 执行BootLoader - > 加载内核 - > 挂在根文件系统 - > 执行应用程序 Windows的启动过程: 通电 - > 执行BIOS - > 加载WinNT内核 - > 挂在文件系统 - > 执行应用程序 二、嵌入式系统的结构 BootLoader 1、BootL…

ElasticSearch - 基于 DSL 、JavaRestClient 实现数据聚合

目录 一、数据聚合 1.1、基本概念 1.1.1、聚合分类 1.1.2、特点 1.2、DSL 实现 Bucket 聚合 1.2.1、Bucket 聚合基础语法 1.2.2、Bucket 聚合结果排序 1.2.3、Bucket 聚合限定范围 1.3、DSL 实现 Metrics 聚合 1.4、基于 JavaRestClient 实现聚合 1.4.1、组装请求 1…

Tomcat多实例、负载均衡、动静分离

Tomcat多实例部署 安装jdk [rootlocalhost ~]#systemctl stop firewalld.service [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#cd /opt [rootlocalhost opt]#ls apache-tomcat-8.5.16.tar.gz jdk-8u91-linux-x64.tar.gz rh [rootlocalhost opt]#tar xf jdk-8u91-linu…

春招秋招,大学生求职容易遇到哪些问题?

每到毕业季就有大批大学生从校园出来,他们怀抱梦想,希望能做出一番成绩。但现实总归是残酷的,有些人找不到工作,有一些人频繁跳槽,也有一些人最终找到的工作与自己的专业没有一点关系,迷茫好几年才找到方向…

钡铼BL302与PLC:提升酿酒业效率与品质的利器

啤酒是人类非常古老的酒精饮料,是水和茶之后世界上消耗量排名第三的饮料。 啤酒在生产过程中主要有制造麦芽、粉碎原料、糖化、发酵、贮酒後熟、过滤、灌装包装等工序流程。需要用到风选机、筛分机、糖化锅、发酵设备、过滤机、灌装机、包装机等食品机械设备。这些食…

安全远程访问工具

什么是安全远程访问 安全远程访问是指一种 IT 安全策略,允许对企业网络、任务关键型系统或任何机密数据进行授权、受控访问。它使 IT 团队能够根据员工和第三方的角色和工作职责为其提供不同级别的访问权限,安全的远程访问方法可保护系统和应用程序&…

前缀和实例5(连续数组)

题目: 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 示例 2: 输入: nums [0,1,0] 输出: 2 说明: [0…

el-upload实现复制粘贴图片

前言: 在之前的项目中,利用el-upload实现了上传图片视频的预览。项目上线后,经使用人员反馈,上传图片、视频每次要先保存到本地然后再上传,很是浪费时间,公司客服人员时间又很紧迫(因为要响应下…

DAMO-YOLO训练KITTI数据集

1.KITTI数据集准备 DAMO-YOLO支持COCO格式的数据集,在训练KITTI之前,需要将KITTI的标注转换为KITTI格式。KITTI是采取逐个文件标注的方式确定的,即一张图片对应一个label文件。下面是KITTI 3D目标检测训练集的第一个标注文件:000…

JavaScript位运算的妙用

位运算的妙用: 奇偶数, 色值换算,换值, 编码等 位运算的基础知识: 操作数是32位整数自动转化为整数在二进制下进行运算 一.按位与& 判断奇偶数: 奇数: num & 1 1偶数: num & 1 0 基本知识: 用法:操作数1 & 操作数2规则:有 0 则为…