2016-03-25 2 views
0

Сосредоточив внимание на методе insertFront() в основном, как мне создать элемент, который содержит значения num и price. Кроме того, он должен содержать значения num и price или userinNum и userinPrice?Вставка элемента в deque

theQueue.insertFront(//ITEM???); 

Основной метод MyDequeApp:

import java.*; 
import java.util.*; 

public class MyDequeApp { 

public static void main(String[] args) 
{ 
    String userinNum; 
    double userinPrice; 

    Item item1= new Item(); 

    Scanner scan1=new Scanner(System.in); 

    System.out.println("Enter the number of elements in the que"); 
    int queElm=scan1.nextInt(); 

    MyDeque theQueue=new MyDeque(queElm); 

    System.out.println("1. Insert to front"); 
    System.out.println("2. Insert to rear"); 
    System.out.println("3. Remove from front"); 
    System.out.println("4. Remove from rear"); 
    System.out.println("5. Peek front"); 
    System.out.println("6. Peek rear"); 
    System.out.println("7. Display que"); 
    System.out.println("8. Quit"); 

    int queOp=scan1.nextInt(); 

    switch(queOp) 
    { 
     //1. Insert to front 
     case 1: 
      System.out.println("Enter an item #"); 
      userinNum=scan1.nextLine(); 
      item1.setNum(userinNum); 
      System.out.println("Enter a price"); 
      userinPrice=scan1.nextDouble(); 
      item1.setPrice(userinPrice); 
      System.out.println(item1.toString()); 
      theQueue.insertFront(); 
       break; 

     case 5: 
      theQueue.peekFront(); 
       break; 

     default: 
      break; 


    } 



} 

} 

Класс товара:

public class Item { 

double price; 
String num; 

//set/get method 
public void setPrice(double userinPrice) 
{ 
    price=userinPrice; 
} 

public double getPrice() 
{ 
    return price; 
} 


public void setNum(String userinNum) 
{ 
    num=userinNum; 
} 

public String getNum() 
{ 
    return num; 
} 

//toString() 
public String toString() 
{ 
    return "Item number: "+num+"\n"+"Price: $"+price; 
} 

} 

метод вставки из класса MyDeque:

public void insertFront(Item x) 
    { 
    if(front==maxSize) 
     front=0; 
    queArray[front++]=x; 
    nItems++; 
    } 

ответ

0

Да, я бы вставить всю Item в очередь, w у него были бы как цена, так и набор чисел.

создать элемент просто создать и экземпляра («новый его вверх»), затем установите Num и цена:

Item newItem = new Item(); 
newItem.setPrice(someDoubleValue); 
newItem.setNum(someStringValue); 

theQueue.insertFront(newItem); 
0

Вы можете просто создать конструктор для Item, который принимает значения userinNum и userinPrice и вызывать его после извлечения входных данных пользователя.

public Item(String num, double price){ 
    this.num = num; 
    this.price = price; 
} 

С помощью конструктора, как это, вы можете получить входы пользователя и хранить их в переменных, а затем, как только у вас есть вход, вы можете вызвать его и передать его эти переменные:

item1 = new Item(userinNum, userinPrice); 

Затем вы можете добавить item1 в свой dequeue. Это объединяет шаги setNum() и setPrice() в одну строку.

0

Извинения, если я неправильно понял ваш вопрос здесь

Далее более она должна удерживать значения NUM и цены или userinNum и userinPrice?

userinNum и userinPrice просто переменные, которые вы используете, чтобы держать вход, предоставленный пользователем. num и price только атрибуты класса Item, которому вы назначаете значения, предоставленные пользователем.

Чтобы добавить свой товар в очередь, измените строку theQueue.insertFront(); на theQueue.insertFront(item1);.

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