Java 创建不确定数量的对象以放入一个deque

Java 创建不确定数量的对象以放入一个deque,java,queue,deque,Java,Queue,Deque,我正在尝试创建一个用户定义的数据块,用于存储用户定义的对象数量。我创建了一个item对象并给它赋值或item#和price,然后将该对象存储在一个deque中。到目前为止,我的主要内容包括一个单一的项目。每次我设置项时,它都会用最近的值覆盖以前存储的项值。我怎样才能创建一个不确定数量的项目来存储它们呢 主要 importjava.*; 导入java.util.*; 公共类MyDequeApp{ 公共静态void main(字符串[]args) { //变数 字符串userinNum; 双用户价格

我正在尝试创建一个用户定义的数据块,用于存储用户定义的对象数量。我创建了一个item对象并给它赋值或item#和price,然后将该对象存储在一个deque中。到目前为止,我的主要内容包括一个单一的项目。每次我设置项时,它都会用最近的值覆盖以前存储的项值。我怎样才能创建一个不确定数量的项目来存储它们呢

主要

importjava.*;
导入java.util.*;
公共类MyDequeApp{
公共静态void main(字符串[]args)
{
//变数
字符串userinNum;
双用户价格;
int queOp;
//创建新项目
Item item1=新项();
//创建新扫描仪
扫描仪scan1=新扫描仪(System.in);
//用户输入deque中的元素数
System.out.println(“在que中输入元素的数量”);
int queElm=scan1.nextInt();
MyDeque theQueue=新的MyDeque(queElm);
//执行/当用户选择1-7时,他们留在开关/机箱中
做
{
//开关/机箱菜单
System.out.println(“1.插入到前面”);
System.out.println(“2.插入到后面”);
System.out.println(“3.从前面移除”);
System.out.println(“4.从后面拆下”);
System.out.println(“5.Peek front”);
System.out.println(“6.Peek-rear”);
System.out.println(“7.Display deque”);
System.out.println(“还有什么要退出的吗”);
//用户输入案例编号
queOp=scan1.nextInt();
scan1.nextLine();
开关(queOp)
{
//插入到前面
案例1:
System.out.println(“输入项目编号”);
userinNum=scan1.nextLine();
项目1.setNum(userinNum);
System.out.println(“输入价格”);
userinPrice=scan1.nextDouble();
scan1.nextLine();
项目1.设定价格(用户价格);
System.out.println(item1.toString());
队列。插入前端(第1项);
打破
//向后插入
案例2:
System.out.println(“输入项目编号”);
userinNum=scan1.nextLine();
项目1.setNum(userinNum);
System.out.println(“输入价格”);
userinPrice=scan1.nextDouble();
scan1.nextLine();
项目1.设定价格(用户价格);
System.out.println(item1.toString());
队列。插入前端(第1项);
队列。插入后部(项目1);
打破
//从前面拆下
案例3:
queue.removeFront();
打破
//从后面拆下
案例4:
theQueue.removeer();
打破
//窥视前方
案例5:
System.out.println(theQueue.peekFront());
打破
//窥视后方
案例6:
System.out.println(theQueue.peekRear());
打破
//显示deque
案例7:
System.out.println(theQueue.toString());
打破
//退出
违约:
打破
}
}而(queOp>0&&queOp您需要添加

item1= new Item(); 
在您处理完一个项目并将其添加到队列之后,或者在您为新项目输入数据之前的某个位置,否则程序会认为item1始终是同一个项目。

您需要添加

item1= new Item(); 

在您处理完一个项目并将其添加到队列中之后,或者在您为新项目输入数据之前的某个位置,否则程序会认为项目1始终是同一个项目。

我仍然有点不清楚。您的意思是添加为声明项目2、项目3、项目4等?还是添加项目(变量)?你能详细说明吗?或者可能是递增的吗?它是如何写在你的代码中的,但是你需要将该部分向下移动到循环中,这样循环也会创建新的项。这里令人困惑的是,项1实际上每次通过循环都是不同的项,但在循环本身中具有相同的名称,而作为不同的对象我还是有点不清楚。你是指在声明项2、项3、项4等中添加为?还是与项(变量)一起添加?你能详细说明吗?或者可能是递增的吗?它是如何写在你的代码中的,但是你需要将该部分向下移动到循环中,这样循环也会创建新的项。这里令人困惑的是,项1实际上每次通过循环都是不同的项,但在循环本身中具有相同的名称,而作为不同的对象在你的队列中。