我的程序应该打印在关闭文件时完成的所有操作。问题是,它打印一切,因为我想要除了项目列表是一个数组。所以,我想我的问题是在复制数组。这里是当它的证实,这样我打印阵列O2在文件试图复制数组或添加它
if (jop == JOptionPane.OK_OPTION) {
o2[orders] = new Order(o1.getId());
o2[orders].setId(o1.getId());
o2[orders].setTotalPrice(o1.getTotalPrice());
o2[orders].setBarista(o1.getBarista());
o2[orders].addItems(o1.getItems());
orders++;
一试,打印出来它未能
public Item[] getItems() {
return itemslist;
}
public void addItems(Item[] itm) {
for (int i = 0; i < itm.length; i++)
if (itm[i] != null)
itemslist[i] = itm[i];
}
顺序获取数组sotored我的代码部分。
outFile=new File("Orderslist.txt");
out=new FileOutputStream(outFile);
ob=new PrintWriter(out);
for(int i=0;i<orders;i++){
itms=new Item[o2[i].getItems().length];
itms=o2[i].getItems();
if(o2[i]!=null){
if(o2[i].getCount()<=4){
ob.println(o2[i].toString()+"\n--------------\n");
for(int j=0;i<itms.length;j++){
System.out.print(itms[j].toString());}
ob.println("--------------\n"+"\nTotal: "+o2[i].getTotalPrice()+"\n\n\n");}
else if(o2[i].getCount()>4){
ob.println(o2[i].toString()+"\n--------------\n");
for(int j=0;i<itms.length;j++){
o2[i].getItems()[j].toString();}
ob.println("--------------\n"+"\nTotal: "+o2[i].getTotalPrice());
ob.println("\n\nDiscount 20%\n\n--------------\nTotal price#: "+(o2[i].getTotalPrice()-(o2[i].getTotalPrice()*0.2))+"\n\n\n");
}
}
}
ob.close();
你是什么意思?请告诉我们你得到了什么样的输出,以及与你的期望有什么不同。 'Arrays.toString()'? –
我在失败中得到的输出是我打印的所有东西,除了itms,这是一个数组,我写了一个for循环打印它。请问我编辑它的第三个代码是什么 – user3126275