Nefu java 实验2

该程序使用Java编写,模拟了一个人在商场购物的过程。首先创建了一个Market类来存储商品,接着创建了Product类表示商品,Person类表示购物者。Person类中有一个shopping方法用于检查Market是否有指定商品。程序通过Scanner获取输入,添加商品到Market并进行购物操作。
摘要由CSDN通过智能技术生成

代码分析

import java.util.*;

public class Main {               //主函数
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        Market mk=new Market();
        mk.setName(in.next());
        mk.addProduct(new Product("电视机"));
        mk.addProduct(new Product("洗衣机"));
        mk.addProduct(new Product("豆浆机"));
        mk.addProduct(new Product("打印机"));
        mk.addProduct(new Product("大便"));
        //String name=in.next();
        Person p=new Person();
        p.setName("张乐");
        p.shopping(mk, new Product(in.next()));
    }
}

class Product {               //商品类
    private String name;
    public Product(String name) {
        this.name=name;
    }
    public void setName(String name) {//set get
        this.name=name;
    }
    public String getName() {
        return name;
    }
}

class Market {
    private String name;
    private Product[] products = new Product[0];//创建数组
    public void setName(String name) {          //set get
        this.name=name;
    }
    public String getName() {
        return name;
    }
    public void addProduct(Product name) {      //添加商品
        products=Arrays.copyOf(products, products.length+1);
        products[products.length-1]=name;
    }
    
    public String sell(String name) {          //查找商品是否存在
        for(Product product:products) {
            if(product.getName().equals(name)) return name;
        }
        return null;
    }
}

class Person{
    private String name;             //常规set get

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void shopping(Market a,Product b) {    //查货
        if(a.sell(b.getName())==null) System.out.printf("%s所需要的商品无货\n",name);
        else System.out.printf("%s买到了%s\n",name,b.getName());
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值