编写一个模拟超市购物程序。购物时,如果购物者要购买的商品在超市中有,则提示“购物者买到了某商品”;如果没有所需的商品,则提示“购物者所需某商品无货”。该程序涉及商品、超市、购物者三个类,具体要求如下:

一、题目描述

编写一个模拟超市购物程序。购物时,如果购物者要购买的商品在超市中有,则提示“购物者买到了某商品”;如果没有所需的商品,则提示“购物者所需某商品无货”。该程序涉及商品、超市、购物者三个类,具体要求如下:
(1)商品类Product,包含商品名属性和set及get方法;
(2)超市类Market,包含超市名属性、存放商品的Product类型数组属性,set、get超市名的方法,能够获取商品或者存入商品的get、set方法,卖货的方法sell(String ProductName),该方法的功能是查找超市是否有所要购买的商品,如果有,则返回商品名;如果没有则返回空;
(3)购物者类Person,包含购物者姓名,set、get姓名的方法;购物的方法shopping,要求把超市和商品作为参数,调用Market类的sell方法返回购物结果;
(4)定义测试类Shopping,创建电视机、洗衣机、豆浆机、打印机等商品;创建超市,并将商品存入超市中;创建购物者对象,并进行购物;输入超市名和要购买的商品名,根据购物结果给出结论。

二、代码实现

import java.util.Scanner;
class product{
	String pname;
	void setpname(String x) {
		pname=x;
	}
	String getpname() {
		return pname;
	}
}
class market{
	product[] products =new product[10];
	String mname;
	void setmname(String x) {
		mname=x;
	}
	String getmname() {
		return mname;
	}
	void steproduct(product[] x) {
		products=x;
	}
	product[] getproduct() {
		return products;
	}
	String sell(String pname) {
		int num=0;
		for(int i=0;i<products.length;i++) {
			if(pname.equals(products[i].getpname()))
				num=1;
		}
		if(num==0)
			return null;
		else
			return pname;
	}
}
class person{
	String pername;
	void setpername(String x) {
		pername=x;
	}
	String getpername() {
		return pername;
	}
	int shop(market x,product y) {
		int num=0;
		for(int i=0;i<x.products.length;i++) {
			if(y.equals(x.products[i]))
				num=1;
		}
		return num;
			
	}
}

public class Main {
	public static void main(String[] args) {
		Scanner in =new Scanner(System.in);
		product[] p=new product[10];
		p[0]=new product();
		p[1]=new product();
		p[2]=new product();
		p[3]=new product();
		p[0].setpname("商品0");
		p[1].setpname("商品1");
		p[2].setpname("商品2");
		p[3].setpname("商品3");
		market[] m=new market[10];
		m[0]=new market();
		m[1]=new market();
		m[0].setmname("超市0");
		m[1].setmname("超市1");
		person 购物者=new person();
		String mar=in.next();
		String pro=in.next();
		market marketl=new market();
		product productl=new product();
		switch(mar) {
		case"超市0":marketl=m[0];break;
		case"超市1":marketl=m[1];break;
		}
		switch(pro) {
		case"商品0":productl=p[0];break;
		case"商品1":productl=p[1];break;
		case"商品2":productl=p[2];break;
		case"商品3":productl=p[3];break;
		}
		int num=购物者.shop(marketl, productl);
		if(num==0)
			System.out.println("无所需商品");
		else
			System.out.println("购物者购买到"+pro);
		in.close();
	}
}

三、结果展示

在这里插入图片描述

四、推荐

给大家推荐三款蓝牙耳机,下面的链接可以直接购买:
1、https://item.taobao.com/item.htm?ft=t&id=643733003968
2、https://item.taobao.com/item.htm?ft=t&id=642849670304
3、https://item.taobao.com/item.htm?ft=t&id=639886208479
由于是新开的淘宝店铺,购买时联系客服,下单即可享受红包,红包 不大也是一片心意哟。虽然是新店,但是质量是有保证的哦!

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,这是一个简单的 Java 超市购物程序实现: ```java import java.util.HashMap; import java.util.Scanner; public class Supermarket { public static void main(String[] args) { // 建立商品库存 HashMap<String, Integer> goods = new HashMap<>(); goods.put("可乐", 10); goods.put("薯片", 5); goods.put("巧克力", 7); goods.put("牛奶", 8); // 开始购物 Scanner scanner = new Scanner(System.in); System.out.println("欢迎来到超市,请选择您要购买商品:"); System.out.println("可乐:" + goods.get("可乐") + "瓶"); System.out.println("薯片:" + goods.get("薯片") + "袋"); System.out.println("巧克力:" + goods.get("巧克力") + "块"); System.out.println("牛奶:" + goods.get("牛奶") + "盒"); while (true) { System.out.print("请输入您要购买商品名称:"); String name = scanner.nextLine(); if (goods.containsKey(name)) { int count = goods.get(name); if (count > 0) { System.out.println("恭喜,您购买到了" + name + "!"); goods.put(name, count - 1); } else { System.out.println("很抱歉," + name + "已经售罄,请选择其他商品。"); } } else { System.out.println("很抱歉,本超市没有" + name + "这种商品,请重新选择。"); } System.out.println("可乐:" + goods.get("可乐") + "瓶"); System.out.println("薯片:" + goods.get("薯片") + "袋"); System.out.println("巧克力:" + goods.get("巧克力") + "块"); System.out.println("牛奶:" + goods.get("牛奶") + "盒"); System.out.print("是否继续购物?(y/n)"); String choice = scanner.nextLine(); if (choice.equals("n")) { break; } } System.out.println("欢迎下次光临!"); } } ``` 程序中使用了 HashMap 来存储商品信息,每次购买后更新库存信息。同,使用 while 循环来实现连续购物功能

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的大男子主义

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值