2015-04-26 4 views
0

EDIT: Спасибо за помощь. Мой преподаватель дал мне задание сделать этот код, и iv'e поместил все предоставленные фрагменты кода в свой код и попытался исправить мой код. Однако одна вещь, которую я застрял в том, что класс Linked list имеет класс, enum, Interface expected. Я попробовал использовать как класс запаса, так и список запасов в параметрах Stock Linked List, но не повезло. Любая помощь будет принята с благодарностьюреализация связанного списка с StockList

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package computercompany; 

/** 
* 
* @author obliv_000 
*/ 
public class StockItem 
{ 
    private String itemID; 
    private String itemDesc; 
    private double price; 
    private int quantity; 
    private int reOrderLevel; 
    public String getItemID() 
    { 
     return itemID; 
    } 
    public String getItemDesc() 
    { 
     return itemDesc; 
    } 
    public double getPrice() 
    { 
     return price; 
    } 
    public int getQuantity() 
    { 
     return quantity; 
    } 
    public int getReOrderLevel() 
    { 
     return reOrderLevel; 
    } 
    public StockItem(String itemsID, String itemsDesc, double p, int quant, 
      int rol) 
    { 
     itemID = itemsID; 
     itemDesc = itemsDesc; 
     quantity = quant; 
     reOrderLevel = rol; 
     price = p; 
    } 
    public void setPrice(double price) 
    { 
     this.price = price; 
    } 
    public void setQuantity(int quantity) 
    { 
     this.quantity = quantity; 
    } 
    public void setReOrderLevel(int reOrderLevel) 
    { 
     this.reOrderLevel = reOrderLevel; 
    } 
    public String toString() 
    { 
     return "itemID = " + getItemID() + ", itemDesc = " + getItemDesc() + 
       ", price = " + getPrice() + ", quantify = " + getQuantity() + 
       ", reOrderLevel = " + getReOrderLevel(); 
    } 
    public String format() 
    { 
     return "The values for the following variables are:\nItemID: " + 
       getItemID() + "\nItemDesc: " + getItemDesc() + "\nPrice: " + 
       getPrice() + "\nQuantify: " + getQuantity() + "\nReOrderLevel: " 
       + getReOrderLevel(); 
    } 
} 

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package computercompany; 
/** 
* 
* @author obliv_000 
*/ 
public interface StockList 
{ 
    public StockLinkedList stock = new StockLinkedList(); 
    public void addItem(StockItem item); 
    public void deleteItem(String itemID); 
    public void updateItemPrice(String itemID, double price); 
    public void updateItemQuantity(String itemID, int quantity); 
    public void updateReOrderLevel(String itemID, int reOrderLevel); 
    public String formatStockList(String list) 
    { 
     list = String.format 
     ("ItemID Description   Price Qnty Re-Order Level\n" 
       + "****** ***********   ***** **** **************\n"); 
     return list; 
    } 
    public String formatReOrderList() 
    { 
     ListIterator<StockItem> iterf = ItemList.listIterator(); 
     String reReOrderList = FormattedTitle; 
     while(iterf.hasNext()) 
     { 
      StockItem temp = iterf.next; 
      int quant = temp.getQuantity(); 
      int reorder = temp.getReOrderLevel(); 
      if(quant<reorder) 
      { 
       formattedReOrder += iterf.next().format() + "\n"; 
      } 
     } 
    } 
    ListIterator listIterator() 
    { 
     throw new UnsupportedOperationException("Not yet implemented"); 
    } 
} 

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package computercompany; 

/** 
* 
* @author obliv_000 
*/ 
public class StockLinkedList<StockList> 
{ 
    private StockLinkedList<StockList> prevItem; 
    private StockItem myItem; 
    private StockLinkedList<StockList> nextItem; 
    public StockLinkedList(StockList item) 
    { 
     this(null, item, null); 
    } 
    public StockLinkedList(StockList item, StockLinkedList<StockList> previous, 
      StockLinkedList next) 
    { 
     myItem = item; 
     nextItem = next; 
     prevItem = previous; 
    } 
    } 
    public StockList getMyItem() 
    { 
     return myItem; 
    } 
    public StockLinkedList<StockList> getNextItem() 
    { 
     return nextItem; 
    } 
    public StockLinkedList<StockList> getPrevItem() 
    { 
     return prevItem; 
    } 
    public void setItem(StockList item) 
    { 
     myItem = item; 
    } 
    public void setPrevItem(StockLinkedList<StockList> previous) 
    { 
     prevItem = previous; 
    } 
    public void setNextItem(StockLinkedList<StockList> next) 
    { 
     nextItem = next; 
    } 
} 

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package computercompany; 

import static computercompany.StockList.stock; 

/** 
* 
* @author obliv_000 
*/ 
public class StockListCLI 
{ 
    private StockList stock = null; 
    public StockListCLI(StockList stock) 
    { 
    } 
    // Displays main menu and gets valid option from user 
    public void doMenu() 
    { 
    } 
    // Obtain input for stock list operation 
    // and invoke operation 
    private void doAddItem() 
    { 
     stockList.add(item); 
    } 
    private void doDeleteItem() 
    { 
     Iterator<StockItem> itr = stockList.listIterator(); 
     while(itr.hasNext()) 
     { 
      StockItem item = itr.next(); 
      if(item.getItemID().equals(itemID)) 
      { 
       itr.remove(); 
       break; 
      } 
     } 
    } 
    private void doUpdateItemPrice() 
    { 
     ListIterator itr = stock.listIterator(); 
     while(itr.hasNext()) 
     { 
      StockItem item = (StockItem)itr.next(); 
      if(item.getItemID().equals(itemID)) 
      { 
       item.setPrice(price); 
       break; 
      } 
     } 
    } 
    private void doUpdateItemQuantity() 
    { 
     ListIterator itr = stock.listIterator(); 
     while(itr.hasNext()) 
     { 
      StockItem item = (StockItem)itr.next(); 
      if(item.getItemID().equals(itemID)) 
      { 
       item.setReOrderLevel(reOrderLevel); 
       break; 
      } 
     } 
    } 
    private void doUpdateReOrderLevel() 
    { 
     StockLinkedList itr = stock.listIterator(); 
     while(itr.setNextItem()) 
     { 
      StockItem item = (StockItem)itr.next(); 
      if(item.getItemID().equals(itemID)) 
      { 
       item.setQuantity(quantity); 
       break; 
      } 
     } 
    } 
    // Display contents of stock list 
    private void doPrintStockList() 
    { 
    } 
    // Display contents of re-order list 
    private void doPrintReorderLIst() 
    { 
    } 
} 
+0

Пожалуйста, не используйте фрагменты кода для Java. Они предназначены для JavaScript, и они далеки от того же. –

+0

Как сделать сниппы для java? – KayKoder

+0

Зачем вам возвращать их после того, как они были удалены? –

ответ

0

Несколько замечаний/исправления:
1) не реализуют каких-либо методов в интерфейсе, использовать его в качестве контракта/определение услуг/метод, который должен будет предоставляться классов которые его реализуют
2) подумайте о требованиях для вашего класса/интерфейса - зачем вам нужно LinkedList? Важен ли порядок?
3) реализовать все методы в своем классе

0

Так много неправильного в одном маленьком кодовом бите трудно понять, с чего начать.

Интерфейс - это что-то, что должно вызывать только сигнатуры (возвращаемое значение, имя метода и параметры) общедоступных методов.

Абстрактный класс - это класс, который не имеет полной реализации и не может быть выделен, он может быть наследован/подклассифицирован.

Не зная цели этого кода, трудно сказать гораздо больше. Но если вы действительно хотите интерфейс, чтобы сказать, что может быть сделано в биржевой бюллетень и несколько видов реализации Фондовый (один из них в StockLinkedList), вы должны иметь:

интерфейс класса Фондовый - определяет возможность работы на список акция

класс StockItem - элемент находится в списке фондовой

класс StockLinkedList - реализует интерфейс в биржевом бюллетене связанного списка моде

класс StockLinkedListNode - реализует каждый элемент связанного списка с указателем на данные и указатель на следующий (и предыдущий, если двойной связанный список) StockLinkedListNode

удачи!

Смежные вопросы