完成一个自购贩售机模型   贩售机中可以容纳一定数量(1 贩售机可以接受用户投入钱
   贩售机可以让用户投入钱并且选择所需要购买的商品,选择之后比较投入钱币金额和商品单价.如果满足则吐出商品(不用找零)
   用户可以查看贩售机中各种商品的数量
   
   贩售机可以提供一个添加商品的入口
说是要用面向对象

解决方案 »

  1.   

    /*下面是我的思路,你可以看下:
      贩售机可以看成对象
      所以我们创建一个贩售机的类  */
      Class 贩售机
    {
       //然后我们再来实现你老师的需求,首先是添加商品,也就是写方法吧
         public static void 添加商品()
       //接下来你老是需要些什么功能全部用方法写在下面就可以了 
    }
       大概就是这个样子,具体的代码和这其中设计到的变量这些这些就得你自己想和写了。希望对你有帮助哈
      

  2.   


    import java.util.ArrayList;
    import java.util.Scanner;public class Shop {
    Scanner scan = new Scanner(System.in);
    ArrayList<Commodity> al = new ArrayList<Commodity>();

    public Commodity addCom() {
    System.out.println("请输入添加商品的种类,价格:");
    Commodity c = new Commodity();
    c.setType(scan.next());
    c.setPrice(scan.nextDouble());
    al.add(c);
    return c;
    }

    public void findAll() {
    for(int i = 0; i < al.size(); i ++) {
    int count = 0;
    for(int j = 0; j < al.size(); j ++) {
    if(al.get(i).getType().equals(al.get(j).getType()) && al.get(i).getPrice() == al.get(j).getPrice()) {
    count ++;
    }
    }
    System.out.println(al.get(i) + "," + "总量为:" + count);
    }
    }


    public void shopping(double money, Commodity c) {
    if(money >= c.getPrice()) {
    System.out.println("交易成功!");
    al.remove(c);
    } else {
    System.out.println("交易失败,您的金额不足!");

    }

    public static void main(String[] args) {
    Shop s = new Shop();
    String type;
    double money;

    while(true) {
    System.out.println("1 --- 添加商品");
    System.out.println("2 --- 显示库存");
    System.out.println("3 --- 购买商品");
    System.out.println("请选择输入:");

    char choose = s.scan.next().charAt(0);

    switch(choose) {
    case '1' :
    s.addCom();
    System.out.println("添加成功!");
    break;
    case '2' :
    s.findAll();
    break;
    case '3' :
    boolean succeed = false;
    System.out.println("请输入 所需商品名称:");
    type = s.scan.next();
    for(int i = 0; i < s.al.size(); i ++) {
    if(s.al.get(i).getType().equals(type)) {
    System.out.println(s.al.get(i));

    System.out.println("请投币:");
    money = s.scan.nextDouble();
    s.shopping(money, s.al.get(i));
    succeed = true;
    break;

    }

    if(!succeed) {
    System.out.println("查无此货");
    }

    break;
    default :
    System.out.println("您的输入有误,请重新输入!");
    }
    }

    }
    }
      

  3.   


    public class Commodity {
    private String type;
    private double price;
    public String getType() {
    return type;
    }
    public void setType(String type) {
    this.type = type;
    }
    public double getPrice() {
    return price;
    }
    public void setPrice(double price) {
    this.price = price;
    }

    public String toString() {
    return "商品名称:" + this.type + ",商品价格:" + this.price + "元";
    }
    }
      

  4.   

    public class  贩售机{
         Things[] things = new Things[];
         public static void 添加商品(){
         }
         public static show(){
         } 
         public static buy(int price){
         }
    }
    class Things{
       int price;
       int count;
    }
      

  5.   

    package practice;import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map.Entry;
    import java.util.Set;public class ShopTest {
          
    private static HashMap<Goods,Integer> map = new HashMap<Goods,Integer>();

    //添加商品。
    public void addGoods(Goods good){
    boolean flag =false;
    //如果存在该商品,数量+1;
     Set<Entry<Goods,Integer>> set=map.entrySet();
     for(Iterator<Entry<Goods,Integer>> ite = set.iterator();ite.hasNext();){
       Entry<Goods,Integer> entry = ite.next();
       Goods good1 = entry.getKey(); //商品对象
     //贩售机存在商品
       if(good1.getName().equals(good.getName())){
       int number = entry.getValue();//指定商品数量
       number+=1;
       map.put(good1,number);
       flag = true;
       }
          
       }
     //贩售机不存在商品
    if(!flag){
    map.put(good,1);
    }
    }
    //查看商品详细信息。
    public void showGoods(){
     Set<Entry<Goods,Integer>> set=map.entrySet();
     for(Iterator<Entry<Goods,Integer>> ite = set.iterator();ite.hasNext();){
       Entry<Goods,Integer> entry = ite.next();
       Goods good = entry.getKey(); //商品对象
       int number = entry.getValue();//指定商品数量
       System.out.println("商品名称:"+good.getName()+"  商品价格:"+good.getPrice()+"   数量:"+number);    
       }
    }
    //能否购买商品。
       public boolean canBuy(String name,int coin){
       
       Set<Entry<Goods,Integer>> set=map.entrySet();
     for(Iterator<Entry<Goods,Integer>> ite = set.iterator();ite.hasNext();){
       Entry<Goods,Integer> entry = ite.next();
       Goods good = entry.getKey(); //商品对象
       int number = entry.getValue();//指定商品数量
       if(good.getName().equals(name)){
       if(coin>=good.getPrice()){
       number-=1;
     //如果商品卖完了,直接删除这个商品。
      if(0==number){
      map.remove(good);
      }
      //否则更新商品数量-1
      else{
      map.put(good,number);
      }
      
      System.out.println("购买成功");
      return true;
       }
       else{
      System.out.println("对不起,您金额不够!");
      return false;
      }
       }
     }
     System.out.println("购买失败");
     return false;
       }
       public static void main(String[] args) {
      //测试数据
      ShopTest test = new ShopTest();
      Goods baishi = new Goods("百事可乐",3.5f);
      Goods xuebi  = new Goods ("雪碧",3);
      test.addGoods(baishi);
      test.addGoods(xuebi);
      test.showGoods();
      System.out.println("--------");
      Goods xuebi2 = new Goods("雪碧",3);
      test.addGoods(xuebi2);
      test.showGoods();
      test.canBuy("雪碧",3);
      System.out.println("----------");
      test.showGoods();
      }

    }
    //商品类。
     class Goods{
    private String name;  //商品名.
    private float price;  //价格.
    public Goods(){

    }
    public Goods(String name,float price){
    this.name=name;
    this.price=price;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public float getPrice() {
    return price;
    }
    public void setPrice(float price) {
    this.price = price;
    }

    }可以优化下的。。