mmayoub

School, 16.09.17, Item List example

Sep 16th, 2017
192
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Item class
  2. ===========
  3. package myClasses;
  4.  
  5. public class Item {
  6.     // object properties
  7.     private String name;
  8.     private double price;
  9.     private int quentity;
  10.  
  11.     public Item(String name, double price) {
  12.         this.name = name;
  13.         this.price = price;
  14.         this.quentity = 0;
  15.     }
  16.  
  17.     public Item(String name, double price, int quentity) {
  18.         super();
  19.         this.name = name;
  20.         this.price = price;
  21.         this.quentity = quentity;
  22.     }
  23.  
  24.     public Item(Item itm) {
  25.         this.name = itm.name;
  26.         this.price = itm.price;
  27.         this.quentity = itm.quentity;
  28.     }
  29.  
  30.     public String getName() {
  31.         return name;
  32.     }
  33.  
  34.     public boolean setName(String name) {
  35.         if (name.length() >= 3) {
  36.             this.name = name;
  37.             return true;
  38.         }
  39.         return false;
  40.     }
  41.  
  42.     public double getPrice() {
  43.         return price;
  44.     }
  45.  
  46.     public boolean setPrice(double price) {
  47.         if (price >= 0) {
  48.             this.price = price;
  49.             return true;
  50.         }
  51.  
  52.         return false;
  53.     }
  54.  
  55.     public int getQuentity() {
  56.         return quentity;
  57.     }
  58.  
  59.     public boolean setQuentity(int quentity) {
  60.         if (quentity >= 0) {
  61.             this.quentity = quentity;
  62.             return true;
  63.         }
  64.  
  65.         return false;
  66.     }
  67.  
  68.     @Override
  69.     public String toString() {
  70.         return "Item [name=" + name + ", price=" + price + ", quentity=" + quentity + "]";
  71.     }
  72.  
  73.     public double getTotal() {
  74.         return price * quentity;
  75.     }
  76.  
  77. }
  78.  
  79.  
  80. ItemList class
  81. ================
  82. package myClasses;
  83.  
  84. public class ItemList {
  85.     final private int MAX_SIZE = 20;
  86.  
  87.     private Item[] items;
  88.     private int count;
  89.  
  90.     public ItemList() {
  91.         items = new Item[MAX_SIZE];
  92.         this.count = 0;
  93.     }
  94.  
  95.     public boolean addItem(Item item) {
  96.         if (count < items.length) {
  97.             // this.items[count] = item;
  98.             this.items[count] = new Item(item);
  99.             count += 1;
  100.             return true;
  101.         }
  102.  
  103.         return false;
  104.     }
  105.  
  106.     public void removeItem(Item item) {
  107.         int p = findPlace(item);
  108.         // if item exists in list
  109.         if (p > -1) {
  110.             for (int i = p + 1; i < count; i += 1) {
  111.                 items[i - 1] = items[i];
  112.             }
  113.             count -= 1;
  114.         }
  115.     }
  116.  
  117.     private int findPlace(Item item) {
  118.         // to be checked later
  119.         for (int i = 0; i < count; i += 1) {
  120.             if (items[i].getName().equals(item.getName())) {
  121.                 return i;
  122.             }
  123.         }
  124.  
  125.         // not found
  126.         System.out.println(item.getName() + " item not found");
  127.         return -1;
  128.     }
  129.  
  130.     public void removeAll() {
  131.         count = 0;
  132.     }
  133.  
  134.     public double getTotal() {
  135.         double total = 0;
  136.         for (int i = 0; i < count; i += 1) {
  137.             total += items[i].getTotal();
  138.         }
  139.         return total;
  140.     }
  141.  
  142.     @Override
  143.     public String toString() {
  144.         String res = "Items List" + "\n---------------------\n";
  145.         for (int i = 0; i < count; i += 1)
  146.             res += items[i] + "\n";
  147.  
  148.         res += "---------------------\n";
  149.         res += "Total price is " + getTotal() + "\n";
  150.         return res;
  151.     }
  152.  
  153. }
  154.  
  155. Tester class
  156. =============
  157. package Tester;
  158.  
  159. import myClasses.Item;
  160. import myClasses.ItemList;
  161.  
  162. public class Testrer {
  163.  
  164.     public static void main(String[] args) {
  165.         Item choc = new Item("Choclate", 7.90, 3);
  166.         Item bamba = new Item("Bamba", 2.80, 10);
  167.         Item bisli = new Item("Bisli", 1.60, 4);
  168.  
  169.         ItemList karawanList = new ItemList();
  170.  
  171.         karawanList.addItem(choc);
  172.         karawanList.addItem(bamba);
  173.         karawanList.addItem(bisli);
  174.  
  175.         System.out.println(karawanList);
  176.  
  177.         // remove bamba
  178.         karawanList.removeItem(bamba);
  179.         System.out.println("after removing item: " + karawanList);
  180.         // remove all items
  181.  
  182.         choc.setPrice(4.20);
  183.         choc.setQuentity(15);
  184.  
  185.         System.out.println(choc);
  186.         System.out.println(karawanList);
  187.  
  188.         karawanList.removeAll();
  189.         System.out.println(karawanList);
  190.  
  191.         ItemList lolo = new ItemList();
  192.         lolo.addItem(choc);
  193.         System.out.println("lolo list is" + lolo);
  194.     }
  195. }
RAW Paste Data