博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA(超市购物程序设计)
阅读量:3930 次
发布时间:2019-05-23

本文共 2263 字,大约阅读时间需要 7 分钟。

1任务描述

去超市购物是日常生活中的重要事情之一。在超市中有很多日常生活的用品,如果水果、蔬菜、洗衣机、电冰箱等。人们只能买到超市中已有物品,如果超市中没有或者已经卖完了,那么只能是白跑一趟了。
本任务要求,使用所学知识编写一个超市购物程序,实现超市购物功能。购物时,如果购物者所要购买的商品在超市中有,则提示购物者买到了商品;如果超市中没有购物者所需的商品,则提示购物者白跑了一趟,在超市中什么都没有买到。

2、任务目标

学会分析“购物超市”程序任务实现的逻辑思路。
能够独立完成“超市购物”程序的源代码编写、编译运行。
理解类和对象的概念以及两者的创建和使用。
理解并掌握类的封装。

3、实现思路

(1)通过任务的描述可知,此程序中包含了超市、商品和购物者三个对象。那么可以先定义商品对象,商品对象需要有自己名称和属性。
(2)由于所有的商品是在超市中卖的,所以还需要定义一个超市对象。每个超市都会有自己的名称和用于存放商品的厂库。由于厂库中会有很多商品,所以这里的厂库可以用数组表示。超市的1主要功能是卖商品,还要有个卖货的方法。
(3)由于购物者是人,所以还需要定义一个Person对象,该对象需要有名称属性,还有一个购物的方法。
(4)最后编写测试类,其中main方法中,需要创建商品对象,超市1对象以及人,并使用这些对象中定义的方法1实现购物程序。

//定义商品类Productpublic class Product {
private String proName; public String getProName() {
return proName; } public void setProName(String proName) {
this.proName = proName; }}//定义超市类Marketpublic class Markert {
private String marketName; private Product[] productArr; public String getMarketName() {
return marketName; } public void setMarketName(String marketName) {
this.marketName = marketName; } public Product[] getProductArr() {
return productArr; } public Product[] getProductArr() {
this.productArr = productArr; } Product sell(String name) {
for (int i = 0; i < productArr.length; i++) {
if(productArr[i].getProName() == name) {
return productArr[i]; } } return null; } }//定义购物者Personpublic class Person {
private String name; public String getName; public String getName() {
this.name = name; } Product shopping(Market market,String name) {
return market.sell(name); }}//定义测试类public class Shopping {
public static void main (String[] args) {
Product p1 = new Product(); Product p2 = new Product(); Product p3 = new Product(); Product p4 = new Product(); Product p5 = new Product(); p1.setProName("电视机"); p2.setProName("电视机"); p3.setProName("电视机"); p4.setProName("电视机"); p5.setProName("电视机"); Market m = new Market(); m.setMArketName("家乐福"); m.setProductArr(new Product[] {
p1,p2,p3,p4,p5}); Person p = new Person(); p.setName("小韩"); Product return = p.shopping (m,"豆浆机"); if(return != null) {
System.out.println(p.getName()+"买到了" +return.getProName()); }else{
System.out.println(p.getName() + "白跑了一趟,在" +m.getMarketName() +"什么都没买到"); } }}

运行结果

在这里插入图片描述

转载地址:http://hktgn.baihongyu.com/

你可能感兴趣的文章
数据包头分析---网络字节序与主机字节序
查看>>
linux sh/bash 编程常用
查看>>
《Debug Hacks》和调试技巧
查看>>
x86寄存器和栈帧
查看>>
计算机科学经典论文(zz)
查看>>
了解云计算的漏洞
查看>>
ECC加密算法入门介绍
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
spark && Tachyon
查看>>
计算机科学不等于数学
查看>>
文件系统与NoSQL分布式存储技术对比
查看>>
rootkit技术
查看>>
调试寄存器(debug registers, DRx)理论及实践
查看>>
Linux下逻辑地址-线性地址-物理地址图解
查看>>
vim安装SrcExpl 插件,实现自动显示跳转函数及变量定义功能
查看>>
linux 版本中 i386/i686/x86-64/pcc 等... 的区别
查看>>
机器学习 | 台大林轩田机器学习基石课程笔记11 --- Linear Models for Classification
查看>>
机器学习 | 台大林轩田机器学习基石课程笔记12 --- Nonlinear Transformation
查看>>
线性代数 | (2) 矩阵Part Two
查看>>
机器学习 | 台大林轩田机器学习基石课程笔记13 --- Hazard of Overfitting
查看>>