текстовый файл, который содержит набор элементов, таких как: t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18
Два стека и очередь ограничены вместимостью только по 7 предметов в каждом, мне нужно непрерывно подавать предметы в стеки, которые затем будут помещаться в очередь.
Вывод для стеков будет:
Lift1 :t1,t2,t3,t4,t5,t6,t7
Lift2 :t8,t10,t11,t12,t13,t14
Мой код:
public static void main(String[] args)
{
ECFile ecf = new ECFile();
Stack<String> lift1 = new Stack<>();
Stack<String> lift2 = new Stack<>();
Queue<String> Conveyer = new LinkedList<>();
BlockingQueue<String> bq1 = new ArrayBlockingQueue<>(7);
String[] cargo = ecf.getArray("ConstructionData6.txt");
ecf.displayArray(cargo,"");
int food = 0;
int materials = 0;
int tools = 0;
int other = 0;
bq1.offer("test");
for (int k=0; k<cargo.length; k++)
{
switch(cargo[k].substring(0,1))
{
case "F" : food++;
break;
case "M" : materials++;
break;
case "T" : tools++;
break;
default : other++;
break;
}
}
System.out.println("\nFood : "+food);
System.out.println("Materials : "+materials);
System.out.println("Tools : "+tools);
System.out.println("Errors : "+other + "\n");
for(int k=0; k<cargo.length; k++)
{
if(k < 7)
{
lift1.push(cargo[k]);
}
else if(k < 14)
{
lift2.push(cargo[k]);
}
}
System.out.println("Lift Cargo: ");
System.out.println("lift1: " +lift1);
System.out.println("lift2: " +lift2);
}
Мой цикл помещает данные в стеки, но если элементов больше, чем они могут вместить, элементы получаютпотерял.