2016-03-25 27 views
0

Başlıca özellikle insertFront() yöntemine odaklanarak, num ve fiyat değerlerini tutan bir öğe oluşturmaya nasıl giderim. Dahası, num ve fiyat veya userinNum ve userinPrice değerlerini tutmalı mı?Ürününüzü bir deque içine yerleştirme

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

Ana yöntem 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; 


    } 



} 

} 

Sınıf Ürün:

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; 
} 

} 
sınıf MyDeque gelen

takın yöntemi:

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

cevap

0

Evet, tüm Item ekleyin ediyorum sıra Hem fiyat hem de num seti olacaktı.

sadece oluşturmak ve örnek Öğe oluşturmak için, daha sonra num ve fiyat belirlemesini ('o kadar yeni'): Sadece Item için bir kurucu oluşturabilir

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

theQueue.insertFront(newItem); 
0

userinNum ve userinPrice değerlerini kabul ve kullanıcının girişlerini aldıktan sonra çağırır.

item1 = new Item(userinNum, userinPrice); 

:

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

bu değişkenlerin böyle bir kurucu kullanarak, kullanıcının girdi alabilirsiniz ve değişkenlerin bunları kaydedebilir ve girişi var bir kere o zaman çağırabilirsiniz ve geçmek Sonra dequeue için item1'u ekleyebilirsiniz. Bu, setNum() ve setPrice() adımlarını tek bir satırda birleştirir.

0

Özür Ben num ve fiyat veya userinNum ve userinPrice değerlerini tutmak gerekir burada Dahası

soru yanlış anladın olur?

userinNum ve userinPrice kullanıcıya göre size verilen giriş tutmak için kullandığınız sadece değişkenlerdir. num ve price sadece kullanıcının verdiği değerleri atadığınız Item sınıfının öznitelikleridir.

Öğenizi sıraya eklemek için theQueue.insertFront(); hattını theQueue.insertFront(item1); olarak değiştirin.