我目前正在开发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) {


这意味着(对于您调用Treasureloot中的每个treasure对象)

并获取(每个)其nametreasure.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);
}

07-27 13:26