我目前正在开发POS直到系统,作为大学的作业,并且完全陷入了for循环中,我需要实现该循环来保存最终用户添加到系统中的任何数据。 save()函数用于将程序中放入的所有数据保存到2个.txt文件中的1个(库存或耕种)。
我目前已经为每个不同的实例变量构建了save函数,但是当它通过save()方法运行时,它只会运行一次(显然),而且我很难理解如何实现样本循环作为解决方案。
这是我当前的进度:
public void save() throws IOException {
// IMPLEMENTATION
PrintWriter outfileStock = new PrintWriter(new FileWriter(SHOP_STOCK_DATA_FILE));
outfileStock.println(barcode);
outfileStock.println(cost);
outfileStock.println(quantity);
outfileStock.close();
PrintWriter outfileTill = new PrintWriter(new FileWriter(SHOP_TILL_DATA_FILE));
outfileTill.println();
outfileTill.println();
outfileTill.println();
outfileTill.close();
}
我们已经给出了for循环的示例(来自导致此分配的工作表是这样的:
public void save(String fileName) throws IOException {
PrintWriter outfile = new PrintWriter(new FileWriter(fileName));
outfile.println(type);
outfile.println(face);
outfile.println(hair);
outfile.println(powerPoints);
outfile.println(loot.size());
for (Treasure treasure : loot) {
outfile.println(treasure.getName());
outfile.println(treasure.getValue());
}
outfile.close();
虽然我不要求为我编写代码,但如果有人能解释如何
for (Treasure treasure : loot) {
outfile.println(treasure.getName());
outfile.println(treasure.getValue());
}
循环工作。如果需要,我可以提供更多信息,这对Java来说还很陌生,所以不确定需要多少知识。
最佳答案
loot
是包含ArrayList
对象的Treasure
。
for (Treasure treasure : loot) {
outfile.println(treasure.getName());
outfile.println(treasure.getValue());
}
通过以下代码循环遍历每个
Treasure
对象(每个对象临时分配给treasure
):for (Treasure treasure : loot) {
这意味着(对于您调用
Treasure
的loot
中的每个treasure
对象)并获取(每个)其
name
(treasure.getName()
)和其值(treasure.getValue()
)。:
代表在
enhanced for-loop
中引入的Java SE 5.0
。在此处查看更多信息:https://blogs.oracle.com/CoreJavaTechTips/entry/using_enhanced_for_loops_with
基本上,代替
for (int i=0; i < array.length; i++) {
System.out.println("Element: " + array[i]);
}
你现在可以做
for (String element : array) {
System.out.println("Element: " + element);
}