2016-03-25 6 views
0

mainのinsertFront()メソッドに特に注目し、numとpriceの値を保持するアイテムを作成するにはどうすればよいですか。さらにnumとpriceの値、またはuserinNumとuserinPriceの値を保持する必要がありますか?デキューにアイテムを挿入する

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

Mainメソッド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; 


    } 



} 

} 

クラスアイテム:クラスMyDequeから

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

} 

Insertメソッド:

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

答えて

0

はい、私は全体Item内を挿入します待ち行列、w hichは価格と価格の両方を設定します。

だけで作成し、インスタンス項目を作成するには、その後、numと価格設定(「それまでは、新しい」):あなただけ Itemのコンストラクタを作成することができます

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

theQueue.insertFront(newItem); 
0

userinNumuserinPriceの値を受け入れますユーザーの入力を取得した後に呼び出します。

item1 = new Item(userinNum, userinPrice); 

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

これらの変数このようなコンストラクタを使用することで、ユーザーの入力を取得することができますし、変数に保存し、あなたが入力したら、あなたはそれを呼び出すことができますし、それを渡します次に、デキューにitem1を追加するだけです。これにより、setNum()setPrice()のステップが1行にまとめられます。

0

謝罪は、私はそれがnumと価格やuserinNum とuserinPriceの値を保持する必要があり、ここでさらに多くの

あなたの質問を誤解している場合は?

userinNumuserinPriceは、ユーザーから与えられた入力を保持するための変数です。 numおよびpriceユーザーが与えた値を割り当てようとしているItemクラスの属性だけです。

アイテムをキューに追加するには、theQueue.insertFront();theQueue.insertFront(item1);に変更します。

関連する問題