我的程序應該打印在關閉文件時完成的所有操作。問題是,它打印一切,因爲我想要除了項目列表是一個數組。所以,我想我的問題是在複製數組。這裏是當它的證實,這樣我打印陣列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